例えば宅配便の配達希望時間を羅列した表があって、「20:00以降は“夜間配達”」と戻したいとき、IF関数を使用すると思います。
解説書によると、IFの式の条件には時刻の表示形式は使えないので「”」で囲み、「1」をかける。これで時刻表示がシリアル値になるため設定が早くなる。
とあるのですが、これだけでは意味がわからず質問させていただきました。下記の2点ほどご教示いただければ助かります。
(1)どうしてIFのの条件に時刻の表示形式は使えないのか?他の関数には使えるような気がするのですが。
(2)「”」で囲むのはなんとなくわかるとして、なぜ「1」をかけるのか。
シリアル値の知識(時刻の場合24時間を1で管理する)は一応あります。
No.1ベストアンサー
- 回答日時:
(1)IFの関数というより、数式に時刻を使用することができないのではないでしょうか?
これは想像するに、時刻表示には「:」(コロン)を使いますが関数では「:」は範囲を指定する時に使用しますよね(例:A1:A10)。ですから数式に時刻の「:」を認めると範囲指定なのか、時刻なのか、収拾がつかなくなってしまいそうです。
(2)””で囲んで1を掛ける、についてですが。
””で囲むと文字列として認識されますよね。しかし””の中が本来数値ならば1を掛けることによって、文字列ではなく数値として認識されることになります。そのために1を掛けて数式として成り立つようにするのです。
想像の部分もあり間違ってたらすいません。
この回答への補足
わかりやすい解説ありがとうございました。よーくわかりましたが、(2)でもう1点できたらお伺いしたいことがありまして。その前に・・・
(1)時刻を数式に入れても計算できると誤った認識を持っていたようです。IFに限らず、数式に時刻は使用できないのですね。それからなるほど「:」は範囲指定にも使われていますね。納得です。
(2)ためしに””で囲んで1を掛けずにやってみましたところ、空白となり答はでてきませんでした。””で囲んで1を掛けてやると、無事正解が出てきました。
ここでさらなる疑問が・・・””で囲んで1を掛けることによって、文字列ではなく数式として認識されるようになるのはどういう仕組みなのでしょう。理論などなく、ただ覚えておくといったたぐいのものでしょうか?
何度も申し訳ないのですが、よろしくお願いできれば幸いです。
No.3
- 回答日時:
私が過去の解答で何度も言っていることの、エクセル関数の本質に係わることの、私見を述べます。
>どうしてIFのの条件に時刻の表示形式は使えないのか
IF関数は、エクセルの「関数」です。関数の中で扱う番地は、番地のセルに入っている「値」を問題にしているものです。一部の番地以外の引数も値を問題にしてます。
書式やコメントやセルに付随するデータ(情報)は、色々あるのですが、その中の「値」(Value)だけを問題にします。それに伴って、IFも値を聞く風になっています。TRUE、FALSEも各ソフトや言語で値が決まっています。
(エクセルの将来バージョンでは、書式も聞けるようにMS社はするかも知れないが、プログラムなども関数は値を返すのがいまは主流か。)
表示形式で変換している見た目の状態は、「値」ではありません。特に日付、時刻で相違が顕著です。
時刻もエクセルは24時間を1とする値で持ってますから
値で聞かないとなりません。
更に聞くなら、12時間を0.5と聞くので無く、もう少し時間らしく表現できないかと言う質問はありえます。
それは"12:00"です。0.5を12時と名前をつけておく方法とかもありそう。
>後半
=1+"12:00"
をやって見てください。1.5になりました。
*1しなくても良いようです。
エクセルの中で変換してくれていると考えなくても良いのでは。"12:00"で0.5と言う数値と扱うで良いのではないでしょうか。*1しても結果は変わらないのですが。
No.2
- 回答日時:
こんにちは。
maruru01です。No.1の方の補足になりますが。
>(2)「”」で囲むのはなんとなくわかるとして、
>なぜ「1」をかけるのか。
EXCELは、数値として認識出来る文字列を、四則演算の中に入れてやると、自動的に数値に変換してくれます。
時刻も、シリアル値という数値なので、四則演算の中に入れてやれば、数値に変換されます。
その数値に変換する方法の1つが「1を掛ける」ということです。
つまり、
"20:00"*1
ということです。
で、要点は値を変化させずに四則演算してやればいいわけですから、
"20:00"/1
"20:00"+0
"20:00"-0
--"20:00"
でもいいわけです。
(「--」は「(-1)*(-1)」、つまり-1を2回掛けるということです。)
さらに、関数を使用して、
VALUE("20:00")
TIMEVALUE("20:00")
でも出来ます。
(ただし、TIMEVALUEは24時間超には対応出来ません。)
ちなみに、
=IF(A1>"20:00","夜間配達","")
はだめですが、
=IF(A1-"20:00">0,"夜間配達","")
なら、うまくいきます。
これは先にA1との引き算(四則演算)をして数値(シリアル値)に変換されるからです。
>他の関数には使えるような気がするのですが。
少なくとも、「""」で括らずに使える関数はないはずです。
数式の手入力はもちろん、関数パレット上でも、
「"20:00"」
のようにしないとだめだと思います。
で、この場合は関数が自動的に数値(シリアル値)に変換してくれます。
解説ありがとうございます。
No.1さんにさらに、理論的にどうして「1」を掛けると数値として認識されるのかご質問させていただいたのですが、お答えいただいた下記の部分が少しヒントになりました。
>ちなみに、
=IF(A1>"20:00","夜間配達","")
はだめですが、
=IF(A1-"20:00">0,"夜間配達","")
なら、うまくいきます。
これは先にA1との引き算(四則演算)をして数値(シリアル値)に変換されるからです。
>要点は値を変化させずに四則演算してやればいいわけですから、
"20:00"/1
"20:00"+0
"20:00"-0
--"20:00"
でもいいわけです。
なるほど!そうですね。大変勉強になりました。お世話になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 出退勤管理の遅刻・早退時間について 3 2023/08/10 15:33
- その他(教育・科学・学問) エクセル関数について 2 2022/12/23 08:59
- Excel(エクセル) 出退勤管理の早退時間について 4 2023/08/21 15:22
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- Excel(エクセル) エクセルの数式について教えて下さい。 8 2023/05/27 12:17
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Excel(エクセル) 下記エクセルの式がなぜこうなるのか理由が知りたいです。 6 2022/08/20 00:43
- Excel(エクセル) エクセルの関数に関しての質問です。 5 2022/10/07 11:17
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- 仕事術・業務効率化 IF関数で時間指定をして、数値を切り上げたいです 1 2022/05/01 23:37
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
秘密基地、どこに作った?
小さい頃、1度は誰もが作ったであろう秘密基地。 大人の今だからこそ言える、あなたの秘密基地の場所を教えてください!
-
とっておきの手土産を教えて
お呼ばれの時や、ちょっとした頂き物のお礼にと何かと必要なのに 自分のセレクトだとついマンネリ化してしまう手土産。 ¥5,000以内で手土産を用意するとしたらあなたは何を用意しますか??
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
IF関数で、時間を条件にしたい場合の式について
Access(アクセス)
-
エクセルで時間の判定をしています。0時以上5時以下の場合は○と判定したいので、以下のイフ関数を試しま
Excel(エクセル)
-
[IF文] 「何時〜何時」で該当する時間を表示したい お疲れ様です。お知恵をお借りできればと思います
Excel(エクセル)
-
-
4
ある一定時間を超えた場合の超えた時間のみを合計する方法をご存知でしたら
Excel(エクセル)
-
5
31:30:00が1900/1/1 7:30:0
その他(Microsoft Office)
-
6
【Excel】セル内の時間帯が特定の時間帯に含まれるかの判定
Excel(エクセル)
-
7
IF文に時間(何時から何時まで)の条件文を付けたい
Word(ワード)
-
8
Excelにて勤務表の作成で早出・残業、所定労働時間の計算式を教えて下さい
Excel(エクセル)
-
9
エクセルで休憩時間を計算したいのですが 条件 勤務時間6時間以上8時間未満は休憩45分 8時間以上は
Excel(エクセル)
-
10
Excel条件付書式(残業45時間以上になったら色をつけたい)
Excel(エクセル)
-
11
エクセルで表示形式の時刻の「0:00」を表示しないようにするには?
Excel(エクセル)
-
12
エクセルにて負の時間を0:00と表示する方法を教えてください
Excel(エクセル)
-
13
グラフの横・縦項目が全部表示されない
Excel(エクセル)
-
14
月60時間以上の時間を求める
その他(ソフトウェア)
-
15
エクセル関数 時間の一覧で時間範囲を条件に抽出入力
Excel(エクセル)
-
16
複数の休憩時間がある場合の休憩時間の算出方法
Excel(エクセル)
-
17
エクセル条件付書式で指定の時間が過ぎていたらフォントの色を変える
Excel(エクセル)
-
18
【スプレドシート】IMPORTRANGE関数とSUMIFSの組み合わせ
その他(Microsoft Office)
-
19
時間範囲(午前/午後/夜間)のIF関数について教えてください
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
EXCELで条件付き書式で空白セル...
-
エクセルで数式の答えを数値と...
-
EXCELで式からグラフを描くには?
-
2つの数値のうち、数値が小さい...
-
小数点以下を繰り上げたものを...
-
値が入っているときだけ計算結...
-
リンク先のファイルを開かなく...
-
エクセル指定した範囲からラン...
-
MIN関数で空白セルを無視したい...
-
EXCELの条件付き書式で数式を空...
-
風俗店へ行く前のご飯
-
これって喉仏ですか? 私は女性...
-
エクセルで空白セルを含む列の...
-
至急!尿検査前日にオナニーし...
-
エクセルのラベルの値(文字列...
-
エクセルでエラーが出て困って...
-
ワードのページ番号をもっと下...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
彼女のことが好きすぎて彼女の...
-
白血球が多いとどんな心配があ...
-
検便についてです。 便は取れた...
-
精液の落とし方を教えてください
-
勃起する時って痛いんですか? ...
-
2つの数値のうち、数値が小さい...
-
エクセル指定した範囲からラン...
-
エクセルで数式の答えを数値と...
-
これって喉仏ですか? 私は女性...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
EXCELで式からグラフを描くには?
-
イタリアから帰国する際、肉製...
-
エクセルのラベルの値(文字列...
-
Excel 0目標に対して数字があ...
-
ある範囲のセルから任意の値を...
-
風俗店へ行く前のご飯
-
リンク先のファイルを開かなく...
-
甲状腺が腫れているが血液検査...
おすすめ情報