• ベストアンサー

表示形式と【*1】の意味についてご質問します。

Excelで出勤表を作成しております。     A     B    C    D    E     F 1   日付  曜日  出社  退社  休憩  勤務時間 2  7月1日  土   10:00  17:15   90     5:45 といった項目があります。 この時E列の休憩が分のみで入力してある為、ただの引き算では値が出ず、こちらのサイトを探し回ったお陰で 【=D6-C6-TEXT(E6,"0!:00")*1】 という式に辿り着きました。 (どの事例を参考にしたかは解からなくなってしまいましたが…) 値を算出する事は無事出来たのですが、 この式の【0!:00】の意味が理解出来ておりません。(特に【!】の意味が解かりません) 一般的に時刻の書式は【h:mm】が多く使われるかと思いますが、確かにこれでは正確な値が出ない。。。 また、こちらサイトの回答でもたびたびお見かけする【*1】には何の意味があるのでしょう? 今回の式では【*1】が無くても同じ値が出るのですが、【*1】は必要ないのでしょうか? 問題解決したものの、頭の中が「???」で一杯になってしまったので投稿しました。(^^; どうか宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • mii-japan
  • ベストアンサー率30% (874/2820)
回答No.1

"0!:00" の! は90(分) を 文字列 0:90 に変換するための特別な意味を持つ *1は  TEXT(E6,"0!:00") が文字列なので、1をかけて数値化する 例ですと TEXT(E6,"0!:00")  は 0:90 (文字列) TEXT(E6,"0!:00")*1 は 0.0625(数値)になります 通常の場合 =D6-C6-TEXT(E6,"0!:00")*1 はD6-C6が数値で計算されるので -TEXT(E6,"0!:00") も数値化されて計算されるのため *1 の意味が明確には判りません (MSの「小さな親切大きなお世話」機能の一つです) 特殊な式 等では 明確に定義することを要求されることがあります

Dona1d
質問者

お礼

わかり易いご説明有難うございます。 【*1】にはそういった意味があったのですね(*^^*) >(MSの「小さな親切大きなお世話」機能の一つです) 思わず笑ってしまいました。 確かにMSソフトではそういった事が良くありますね。 ただ、【!】の意味がまだ良く理解出来ていません。 「特別な意味を持つ」とは? うぅ~ん...逆に興味をそそります。

その他の回答 (5)

  • fukkyse
  • ベストアンサー率32% (130/402)
回答No.6

#3.5です。 あえて、TEXT関数を使う意味はないと思います。 素直に =D6-C6-E6/(24*60) セルの書式設定を"h:mm"でよいです。 質問内容が「*1」と「!」についての内容でしたので…。

Dona1d
質問者

お礼

御礼が遅くなりすいません。 今回は色々と勉強になりました。 本当に有難うございましたm(u_u*)m

  • fukkyse
  • ベストアンサー率32% (130/402)
回答No.5

素直にコレなんでしょうけど =E6/(24*60)

参考URL:
http://www.relief.jp/itnote/archives/000903.php
Dona1d
質問者

お礼

出来ました! [=D6-C6-TEXT(E6/(24*60),"[h]:m")]で良かったでしょうか? ご教示頂いたサイトの説明を読んでなるほど...とかすかに納得。 この度は大変勉強になりました。 本当に有難うございましたm(*u_u)m と…今更ですが、投稿の表(?)には2行目を使用しているのに式は6行目を使用していたのに気づきました^^; 今までご回答下さった皆様方申し訳ありませんでした。

  • NCU
  • ベストアンサー率10% (32/318)
回答No.4

その式では「100」と入力したら100分でなく60分になりますが承知の上ですね? 念のため。

Dona1d
質問者

お礼

ご指摘下さり有難うございます。 出社時間を「10:00」・退社時間を「11:40」休憩時間を「100」にしてみたら確かに「0」になるべきはずの値が「0:40」となりました(>_<) 皆様のお陰で意味は理解出来たものの、振り出しに戻ってしまいました(TДT)

  • fukkyse
  • ベストアンサー率32% (130/402)
回答No.3

!の意味。 :に対して、文字列を宣言しています。 参考は日付に対して書いてある内容ですが、考え方は同じです。

参考URL:
http://www.relief.jp/itnote/archives/001896.php
Dona1d
質問者

お礼

なるほど☆ あやふやではありますが何となく解かってきたような気がします。 今更ですが色々と奥が深いですね。 勉強になりました。 有難うございます(*^^*)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

TEXT関数で得られる結果は文字列です。 これを数字に変換するのは関数(時刻であればTIMEVALUEなど)を使用する方法もありますが、一番簡単なのは数字の1をかけ算することです。 でも式の中では勝手に数値化を行いますから、 *1 はなくても同じ結果が得られると思います。

Dona1d
質問者

お礼

いつも文字列を数値に変換する時はVALUE系の関数を用いておりました(^^; 【*1】が代用できるとは驚きです。 有難うございました☆

関連するQ&A

  • 休憩時間が数パターンある場合の休憩時間の計算

    勤務表を作成していますが、 休憩時間が複数ある場合の休憩時間の算出方法が知りたいです。 C3 9:00 (出社時刻) D3 20:00 (退社時刻) E3 (休憩時間) F3 =D3-C3-E3 (その日の稼働時間) C4 13:00 (出社時刻) D4 18:00 (退社時刻) E4 (休憩時間) F4 =D4-C4-E4 (その日の稼働時間) 休憩時間1 C40 12:00 (休憩開始時刻) D40 13:00 (休憩終了時刻) E40 1:00 (休憩時間の合計) 休憩時間2 C41 18:00 (休憩開始時刻) D41 18:30 (休憩終了時刻) E41 0:30 (休憩時間の合計) 休憩時間自体は6パターンあります。 休憩時刻が変わった際にも対応できるよう E40やE41を使って、退社時刻によって 休憩時間を算出できるようにしたいです。 また、13時に出社した時に12:00-13:00の休憩時間を カウントしないようにもしたいです。 Excel 関数のアドバイスを よろしくお願い致します。

  • エクセル 時間の計算

      A(距離) B(速さ)  C(所要時間) D(時間) 1 3.9    5     0:46     13:52? 2 14.7    5     2:56     16:49? 3 0.9     5     0:10     17:00 まず、C1の「所要時間」を出すのに、 「3.9/5/24」の計算で「h:mm」表示にし、0:46としました。 これを1分繰り上げて(「h:mm:ss」だと0:46:48になるので)0:47と 表示させるには、どうしたら良いですか? C3も同じく0:11の表示にしたいです。 そうやってCの「所要時間」を全て出した後、今度はD3の17:00から 逆算してD1のスタート時間を算出するにはどうしたら良いですか? 単純なD3ーC3の引き算だと、計算が合わなくなります。 意味わかって頂けたでしょうか。。 宜しくお願いします。

  • エクセルの勤怠管理表

    エクセルでの勤怠管理で困っています。 誰か教えてください。 C1に曜日 D1に出社時間 E1に退社時間 G1に休日休憩時間 H1に総労働時間 があり、休日休憩時間に既に =IF(E1="","",IF(OR(C1="月",C1="火",C1="水",C1="木",C1="金"),TIMEVALUE("0:00"),IF(OR(C1="土",C1="祝",C1="日"),TIMEVALUE("1:00")))) という式が入っています。 上記の式に追加で休日出勤して 総労働時間が10時間未満なら一律1時間 総労働時間が10時間以上なら一律2時間 と言う式を追加したいのですが、 色々調べてみましたが何をやってもうまくいきません。 わかる方いましたらどうぞよろしくお願いします。

  • f(x)=x^3 +cx^2 +dx+e(c,d,

    f(x)=x^3 +cx^2 +dx+e(c,d,eは実数)がx^2 +4x+3で割り切れるとき、dとeをcを用いてあらわせ またこのとき方程式f(x)=0が正の実数解をもつようなcの値の範囲を求めよ ご教授お願いします

  • エクセルで出勤簿作成

    エクセルを使って出勤簿を作成したいのですが、計算式がわかりません。 内容は・・・ A 出社時間 B 退社時間 C 就労時間 D 休憩時間 E 勤務時間 就労時間が5時間30分以上の時は30分の休憩【D=IF(C4>TIME(5,0,0),"30","0")】までの式はできましたが、最後の勤務時間の式を入力すると #######となってしまいます。 E 勤務時間をだすにはどのような計算式を使えばよろしいのでしょうか? D 休憩時間の式が間違っているのでしょうか? 宜しくお願いします。

  • 化学組成の式が分かりません

    下記AからEの空欄の化学組成を算出する式を示せ。 添付画像の表なのですが、A、B,Cの式はわかったのですが、DとEがどこの値を使用して式を導出するのかわかりません。 導出過程を教えてください。お願いします。

  • Excelの時刻の計算(マイナス表示)

    時刻のセルでひき算をし、マイナス表示も出したいのですが。。 例えば A1に [2002/5/9 7:00] B1に [2002/5/9 8:00] とあって C1に [B1-A1] と計算式を入力すると [1900/1/0 1:00]となり、表示形式を[h:mm]にすると[1:00]とできますよね。 このときに B1に [2002/5/9/6:00] とあるとC1には[##########]となってしまうのですが、 6:00-7:00なので [-1:00]と表示させることはできないでしょうか。 できればAとBの値そのものは変えたくないのですが。。。お願いします

  • 五次の不定方程式の問題

    A,B,C,D,Eを整数(負でもよい)とします.この時,五次の不定方程式 A^5 + B^5 + C^5 + D^5 = E^5 ・・・・・・・式(1) の整数解として, 27^5 + 84^5 + 110^5 + 133^5 = 144^5 ・・・・・・・式(2) が知られています.では,式(1)の解は一般的に解かれているのでしょうか? 私は,式(2)の数値解しか知らないのですが,どなたか教えて下さい. 余談ですが,因みに,以下のような不定方程式もあります. 1020^4 = 400000^2 + 980^4 + 20^6, 18^4 = 14^4 + 16^4 + 4^5, 51^4 = 10^2 + 49^4 + 10^6, 4020^4 = 16000^2 + 3980^4 + 400^5, 9^4 = 2^6 + 7^4 + 8^4, 15^4 = 200^2 + 5^4 + 10^4, 35^4 = 800^2 + 15^4 + 30^4, 12^5 = 4^3 + 60^3 + 8^5, 85^4 = 3200^2 + 5^4 + 80^4 + 10^6, 4^3 = 3^3 + 6^2 + 1, 5^4 = 19^2 + 2^3 + 4^4, 7^6 = 10^3 + 4^5 + 10^5 + 5^6.

  • Excel:土曜と日曜の行に書式設定

    会社で働いた時間の表をExcelで作っています(1ヶ月 1シート)。 B列は日付が入っていて、 C列には曜日、例えば =TEXT(B3, "ddd") が入っていまして(Sun,Satなどと表示)、 D,E,F列・・・・・には出社時刻、退社時刻、休憩時間、・・・・を入力します。 やりたいこと:土曜と日曜は書式設定をしたい(たとえば セルに色を付ける。) 範囲指定して 書式メニューの条件付き書式で、 条件1 セルの値が 次の値に等しい ="Sun" 条件2 セルの値が 次の値に等しい ="Sat" などと設定すれば、曜日(C列)のセルは指定した設定になりますが、 他の列も指定した設定にしたいのです。 バージョンはExcel2000です。よろしくお願いします。

  • 再質問。給与計算について

    「給料計算をしたいと考えている B2に就業開始時間として数字が記載されている。 C2に休憩開始時間として数字が記載されている。 D2に休憩終了時間として数字が記載されている。 E2に就業終了時間として数字が記載されている。 記載されている数字は、 「1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24」のうちどれか。小数点にも対応してほしい。 ・例2 B2に「7.5」と入力されていたら就業開始時間は「7:30」ということ。C2に「10.5」と入力されていたら休憩開始時間は「10:30」ということ。D2に「11.5」と入力されていたら休憩終了時間は「11:30」ということ。E2に「16.5」と入力されていたら就業終了時間は「16:30」ということ。 時給は、以下のようになっている。 11時から14時の間だけ1000円。その他の時間は950円。 C2の時間からD2の時間は休憩時間なのでその間の休憩は0円とする。 上記の計算をした上でF2に解を出力。 =(MIN(D2,11)-MIN(C2,11))*950+(MEDIAN(11,D2,14)-MEDIAN(11,C2,14))*1000+(MAX(14,D2)-MAX(14,C2))*950+(MIN(F2,11)-MIN(E2,11))*950+(MEDIAN(11,F2,14)-MEDIAN(11,E2,14))*1000+(MAX(14,F2)-MAX(14,E2))*950 上の関数を使って小数点があっても計算ができるようにしたいです。 給与計算は小数点があっても7750がF2に出るようにして欲しいです

専門家に質問してみよう