Excel総合相談所6

このエントリーをはてなブックマークに追加
952名無しさん@そうだ選挙にいこう:02/08/07 01:08
メニューバーの中の「データ」が
無くなってしまいました。
並べ替えとか出来なくなってしまい不便です。
これって壊れたのでしょうか?
復旧の方法をおながいします。
953名無しさん@そうだ選挙にいこう:02/08/07 01:17
>>952
このマクロを実行したら出てくると思うよ。
Sub Macro1()
  Application.CommandBars(1).Reset
End Sub
>>951
Sub auto_open()
 Worksheets(1).ScrollArea = "A1:L24"
End Sub
955944:02/08/07 06:59
みなさん、ほんとにありがとうございます!!!!!
948さんのでやってみましたら、出来ました!!!!
も〜〜〜すごい嬉しいです!これで仕事がはかどります!!

・・・私ももっと勉強します。正直
みなさんの書かれている式、ぜんぜん理解できませんので…

ありがとうございました。m(__)m
956名無しさん@そうだ選挙にいこう:02/08/07 09:50
>>938
何をおしゃっているのかさっぱりわからないのですが。
例えば、7:00から次の日の7:00まで働いたときはどうすればいいですか?

(HOUR(D10)+MINUTE(D10)/60)-(HOUR(C10)+MINUTE(C10)/60)

これにあとちょっと手を加えてなんとかならないでしょうか?
957名無しさん@そうだ選挙にいこう:02/08/07 12:57
>>956
J1〜J4に
午前
午後
翌日の午前
翌日の午後

と書いて、

(始業時刻用のコンボボックス)
入力範囲   $J$1:$J$2
リンクするセル  F10

(終業時刻用のコンボボックス)
入力範囲   $J$1:$J$4
リンクするセル  G10

を作る。
958957:02/08/07 13:00
H10
=((F10-1)*12+MOD(HOUR(C10),12))*60+MINUTE(C10)
I10
=((G10-1)*12+MOD(HOUR(D10),12))*60+MINUTE(D10)

E10
=INT((I10-H10)/60)&":"&TEXT(INT(MOD(I10-H10,60)),"00")

として、コンボボックスで午前午後を選択しつつ、
C10, D10への始業時刻、終業時刻を入力すると
E10に表示。
959957:02/08/07 13:02
これは、
午前12:00
...
午前11:59
午後12:00
...
午後11:59
という時間の数え方を考えてる。
こうだよね?

入力規則で1:00〜12:59と制限したり、
終業時刻は必ず始業時刻より遅くなるように制限したり
する必要があるかと。

注意としては、
暇つぶしにやってみただけだということと、
オレは普段エクセル使ってないということ。
危険かも。
960名無しさん@そうだ選挙にいこう:02/08/07 13:21
厨房質問でもうしわけありません、
図形描画で直線を曲げる(フリーフォーム以外で)
のはどうしたらいいのでしょうか?

なにかボタンを押しながらやるような気がしたので
すが忘れてしまいました。helpも探したのですが
わかりません。助けて・・・
961957:02/08/07 13:51
その直線の上で右クリック→[頂点の編集]

その直線の上で右クリック→[頂点の追加]

頂点を掴んで移動

その直線の上で右クリック→[頂点を中心にスムージング]

でできたよ。
962957:02/08/07 13:53
× その直線の上で右クリック→[頂点を中心にスムージング]
○ その頂点の上で右クリック→[頂点を中心にスムージング]



963957:02/08/07 14:08
きっとこうだ。すんません。

その直線の上で右クリック→[頂点の編集]

その直線の上で右クリック→[線分を曲げる]
964名無しさん@そうだ選挙にいこう:02/08/07 14:14
rounddown(((1*60+9.4)*6/12-33.5)*160/12+50,0)
rounddown(((1*60+9.4)*(12-6)/12-(1*60+9.4-35.9))*160/12+50,0)

というとある計算をしていたんです。
この場合、12-6=6、60+9.4-35.9=33.5、なので
2つの計算式の計算結果は当然一致するものと思っていたんです。

ところが、ふたを開けてみたら前者は66、後者は65となってしまい(゚Д゚)ハァ?と思いました。
rounddown関数を外して値を調べてみると、どうやら、

前者が66.0000000000000
後者が65.9999999999999

っていうことになってるようなんです。
0.00000000000001の差分が出てしまったのがどうにも理解不能でございまして…
この原因や対処法がありましたら教えて下さい。おながいします。
965名無しさん@そうだ選挙にいこう:02/08/07 14:17
>>964
ちなみにversionは2002、OSはXPです。
966名無しさん@そうだ選挙にいこう:02/08/07 14:20
>963
げっ!!!スプライン曲線もできるとは、シランカッタ。サンキュー。
967957:02/08/07 14:40
=((1*60+9.4)*(12-6)/12-(1*60+9.4-35.9))*160/12+50
→65.9999999999999

=((1*60+9.4)*(12-6)/12-1*60-9.4+35.9)*160/12+50
→66.0000000000000

になった。なんでだろー。
968957:02/08/07 14:43
で、
=(1*60+9.4)*(12-6)/12-(1*60+9.4-35.9)
→1.2000000000000

=(1*60+9.4)*(12-6)/12-1*60-9.4+35.9
→1.2000000000000

970938:02/08/07 16:38
>>956
前の方で、時間の計算するなら表示形式を設定しろ、といったものだけど、
理解されなかったようなので説明すると、

例えば
A1に開始時刻、B1に終了時刻、を入力して、C1に勤務時間を計算させたいとき、
A1とB1の書式の表示形式を、m/d h:mm AM/PM
C1の表示形式を、[h]:mm
と設定する。

その上で、
A1に 8/7 7:00 AM
B1に 8/8 7:10 AM
と入力して、C1に =B1-A1 と入れれば、
C1に 24:00 と表示される。

基本的に、EXCELで日付や時刻の計算するときには、
HOUR()やMINUTE()は不要。日時分秒を別々に分けたりする必要は無い。

シリアル値などの意味が分からなければ、ただ聞き返すよりヘルプを読め。
971名無しさん@そうだ選挙にいこう:02/08/07 18:19
質問させてください。

式が入ったセルで、計算する値や参照する値がないとき、
エラーメッセージ(#DIV/0!や#REF!など)がでますが、
これを表示させない機能っていうのはありますか?

バージョンは97、OSはWIN95です。
印刷させない機能でも良いのですが。

よろしくお願いします。

972名無しさん@そうだ選挙にいこう:02/08/07 18:30
「条件分岐のついた表示形式」
のやり方を教えてください。
973名無しさん@そうだ選挙にいこう:02/08/07 18:31
974名無しさん@そうだ選挙にいこう:02/08/07 18:36
>>972
関数IFとTEXTを組み合わせれば?
975名無しさん@そうだ選挙にいこう:02/08/07 18:37
>>972
設定したいセルを選択して 書式 → 条件付書式
で分岐内容を指定する(条件は3つまで)
>>975
表示形式って質問っしょ
普通じゃむりぽ
977972, 973:02/08/07 18:42
>>974
そのセルが式の時はなんとなく分かるんですけど、
値の時はどうすればいいのかなと思いまして。

>>975
Excel97を使ってるんですが、
Excel97では条件書式に表示形式って設定できない
と思うんですけど、新しい奴だとできるってことでしょうか?
978972, 973:02/08/07 18:45
ttp://www.shuwasystem.co.jp/books/wwwsrch/cgi-bin/content/909/mokuji.htm
この本の目次に

>4.4.4 ●条件分岐のついた表示形式を作る(その1)
>4.4.5 ●条件分岐のついた表示形式を作る(その2)

ってのがあるんですよ。
あ、買えば良いのか?
979974:02/08/07 18:51
>>977
情報関数で振り分けて、分岐には乗せれない?
具体例だしてみれば?今日は人も多い様だし(w
980972, 973:02/08/07 18:57
勉強してるだけなので、自分がやりたい作業は特にないですが、
>>937の例を借りて

8/7 7:00 AM と入力して 午前 7:00
8/7 7:00 PM と入力して 午後 7:00

とか。




981974:02/08/07 19:34
関数を使うのだから、入力セルと表示セルは異なる。
A1を入力セルとして
B1=IF(A1-TRUNC(A1)<0.5,TEXT(A1,"m/d h:mm 午前"),TEXT(A1,"m/d h:mm 午後"))

でもこれはなんとなく例が的を外している様な気がしないでもない…
こういうパターンを言ってたんじゃないような?
982974:02/08/07 19:39
>>978の本にあるのは表示形式のユーザー設定で扱える条件分岐の事か?(推測)
以下はxl97のヘルプよりコピペ。
xl2000以降でどう進化したかは使ってないのでスマソ。

数値が指定した条件を満たす場合にだけ表示形式を設定するには、
条件を角かっこで囲みます。条件は、比較演算子と値で指定します。
たとえば、次の書式では、数値の桁数が 5 桁より少ない場合は、
先頭に余分なゼロを表示した 5 桁の郵便番号が表示され、
数値の桁数が 5 桁より多い場合は、先頭に余分なゼロを表示した 9 桁の
郵便番号にハイフンが挿入されて表示されます。

[<=99999]00000;00000-0000
983972, 973:02/08/07 19:50
>>981
分かりにくくてすみませんでした。
値を入力するところと表示させるところを同じ所で済ます方法を探してました。
984972, 973:02/08/07 19:57
>>982
ありがとうございます。
そうです。そういう話です。
(リロードし損ねて>>982読む前に>>983書き込んでしまいました。)
でも、ヘルプに載ってる話だったんですね。すみません。
>983
となると、>982の話だね。
[ ]で囲んだ条件に式は入れられない様なので、シンプルな分岐しか出来ない。
あとは、VBAとか。
986972, 973:02/08/07 20:05
>>985
>[ ]で囲んだ条件に式は入れられない様なので、シンプルな分岐しか出来ない。

あ、そうなんですか。早とちり。
987名無しさん@そうだ選挙にいこう:02/08/07 21:20
初歩的な質問で悪いんですが、ひとつの列に1,2,3,4・・・という
風に一定のスパンで数を増やしていきたいんですが、一つ一つ打ち込むの
ではなく、一括して処理するにはどのようにすればいいのでしょう?
いくつか打って、それらを選択。
右下の角を掴んで下にドラッグ。
989名無しさん@そうだ選挙にいこう:02/08/07 21:34
>>987 等差数列ならオートフィルでOK。
具体的には二つ以上の値を連続するセルに入力して、そのセル範囲を選択。
範囲の右下角にマウスを合わせると、マウスのポインタが黒い『+』に変わる。
そしたら、目的の終点セルまでドラッグ。

オートフィルについては、あとはヘルプを参照
あり、ゴメン。>988
すみません
小質問させてください

ランダム関数って
他のセルいじくると
全部数値が変わるんですが
仕様ですか?
992名無しさん@そうだ選挙にいこう:02/08/07 21:53
再計算の影響です。
どこかにnow関数をいれて、表示形式を秒までにしてみそ。実感できるから。
994名無しさん@そうだ選挙にいこう:02/08/08 07:02
>>969
こればっかりは仕方のないことだったんですね…

というわけで、適当な桁数で一度round関数を仕掛けて、
その上でrounddown関数を使ってみたら上手くいきました。

どうもありがとうございます。
>>994

+0.00000001 という風に、四捨五入に影響しないくらい小さい数を足して
0.99999...をつぶしてからRoundしたらうまくいきます。

逃げですけどね。
996名無しさん@そうだ選挙にいこう:02/08/09 12:06
1000
9971000:02/08/09 12:07
1000ダゴラ!
998名無しさん@そうだ選挙にいこう:02/08/09 12:11
1 0 0 0
999名無しさん@そうだ選挙にいこう:02/08/09 12:25
999
1000名無しさん@そうだ選挙にいこう:02/08/09 12:26
1000 first
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。