EXCELのIF関数についての質問です。
IF関数については、自信がありました。
たとえば、G13をテストの得点だとして、80点よりも高い得点なら合格、さもなければ不合格と表示させてければ、if(G13>80,"合格","不合格")でOKのはずです。
ところが、今日何歳なのかを表示させる場合、G13に生年月日をいれて、
IF(OR(MONTH(TODAY())>MONTH(G13),AND(MONTH(TODAY())=MONTH(G13),DAY(TODAY())>=DAY(G13)))=TRUE,YEAR(TODAY())-YEAR(G13),YEAR(TODAY())-YEAR(G13-1))と引継ぎをうけました。
この中にあるTRUEの意味がわかりません。私の解釈では、「今日の月が誕生月よりも絶対値が大きい」又は「今日の月と誕生月が同じで、今日の日が誕生の日の絶対値と同じか多い」場合、年齢は「今日の年」-「誕生の年」、そうでない場合は年齢は「今日の年」-1-「誕生の年」です。
なので、TRUEはなくてもよいと思い、削除してみましたが、エラーが出ました。
よくわからないので、お手数ですが、教えてください
No.5ベストアンサー
- 回答日時:
> EXCEL2000を使用していますが、挿入→関数→すべてを表
> 示で確認するのですが、見当たりません。
そこにはありませんよ。これはMS-DOS時代に表計算ソフトの代表格
だったLotus 1-2-3と互換性を持たせるために、内緒で搭載されてい
る関数ですから、ヘルプの方で日付/時刻関数一覧を出さないと載っ
てません。月数の計算に関してはバグがあるので要注意ですが、年
齢計算くらいには充分使えます。
ちなみにdatedif関数を使わない場合でも、
=year(today())-year(G13)-(text(G13,"mmdd")>text(today(),"mmdd"))
くらいにはシンプルになります。同じことをif関数を使って
=year(today())-year(G13)-if(text(G13,"mmdd")>text(today(),"mmdd"),1,0)
と書くこともできます。日本語で言うと「基本は今年の年-誕生年だ
けど誕生日がまだ来てないっぽかったらもう1年引く」ですね。
No.4
- 回答日時:
>この中にあるTRUEの意味がわかりません。
TRUEは条件が真であるという意味なのでこのIF文では不要ですね。
OR(MONTH(TODAY())>MONTH(G13),AND(MONTH(TODAY())=MONTH(G13),DAY(TODAY())>=DAY(G13))
)=TRUE
条件部分は上記の式の部分で
OR(現在月が誕生月より後,AND(現在月が誕生月,現在日は誕生日以降))が真
という意味になります。
まあ確かに不要ですね。式を否定して真偽を入れ替えるのにFALSEを使うのならまだわかりますけど...
>TRUEはなくてもよいと思い、削除してみましたが、エラーが出ました。
No.1の方の言われるようにTRUEを削除する場合は=も一緒に削除が必要です。
>そうでない場合は年齢は「今日の年」-1-「誕生の年」です。
YEAR(TODAY())-YEAR(G13-1)
では言われるような結果になりません。
YEAR(TODAY())-YEAR(G13)-1の間違えでは?
落ち着いてやり直したらうまくいきました。ありがとうございました
「YEAR(TODAY())-YEAR(G13)-1の間違えでは?」もご指摘のとおりでした。ありがとうございました。
No.3
- 回答日時:
久々に見る迂遠な式ですね。
削除するなら「TRUE」だけじゃなくて「=TRUE」ですが、そこは大丈夫ですか。year(G13-1)はもちろん書
き間違いのはずですが。
ちなみに同じ意味の式は、
=datedif(G13,today(),"Y")
と書きます。
ありがとうございました。「datedif」という関数ははじめて見ました。EXCEL2000を使用していますが、挿入→関数→すべてを表示で確認するのですが、見当たりません。こんな便利な関数、どこでお知りになられてんですか?
No.1
- 回答日時:
TRUEを消す:
=IF(OR(MONTH(TODAY())>MONTH(G13),AND(MONTH(TODAY())=MONTH(G13),DAY(TODAY())>=DAY(G13))),YEAR(TODAY())-YEAR(G13),YEAR(TODAY())-YEAR(G13-1))
理解なさっている内容は合ってます。不要な内容です。
>TRUEはなくてもよいと思い、削除してみましたが、エラーが出ました。
単純な編集ミスと思います。落ち着いてもう一度試してみてください。
「=TRUE」を削ります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 英語 "this day"が当日か今日を表すのかの使い分け方等について 5 2023/08/08 14:29
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- Visual Basic(VBA) 今日の日付が過ぎたらその行を削除したい 1 2023/04/01 20:06
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- Excel(エクセル) 現時点の年齢を算出して、その年齢と一致したセルを色付けしたい。 4 2022/06/23 17:49
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/04/13 10:55
- Excel(エクセル) エクセル IF か VLOOK か 数式を 教えて下さい 2 2023/07/09 17:59
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
誕生日会と誕生会…どっちですか?
-
自学についてです。 自学で誕生...
-
誕生日 運命感じるのは
-
今月は自分の誕生日月なのです...
-
元彼に誕生日おめでとうLINEし...
-
好きな女性の誕生日を忘れるの...
-
男性にとって、誕生日当日に会...
-
彼女の誕生日忘れたらふられた...
-
誕生日におめでとうを言わない...
-
自分が振られた元カノからの誕...
-
誕生日…誰にも祝って貰えません...
-
誕生日の2日前にフラれました
-
誕生日に何の連絡もない男性・...
-
付き合って初めての誕生日を彼...
-
男の人って手作り動画とか嬉し...
-
好きでもない女性から 誕生日に...
-
つきあってない男性の誕生日
-
誕生日スルーって
-
付き合って5年目に突入した彼氏...
-
今日誕生日なんです。 同棲して...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
誕生日会と誕生会…どっちですか?
-
男同士で誕生日祝いあったりし...
-
明日誕生日の人に今日おめでと...
-
自学についてです。 自学で誕生...
-
誕生と、聞いて思いつく事は何...
-
今日は誰の誕生日? ご存知です...
-
誕生日 運命感じるのは
-
ハンガリー語でお誕生おめでとう
-
冷静で落ち着いて感情が表に出...
-
今日誕生日だったんですが、 明...
-
従兄と私の年齢は24歳差 → 1966...
-
数学の始まりについて
-
誕生会
-
1月25日のザ・ワイド
-
ディズニーランドの誕生日シー...
-
誕生月と誕生日を足した数って ...
-
ライフカ-ド
-
今日は上皇誕生日の祝日ですか?
-
元彼に誕生日おめでとうLINEし...
-
誕生日におめでとうを言わない...
おすすめ情報