- ベストアンサー
EXCEL 関数が分かりません…
EXCEL2000で時刻表を作成しています。 任意のセルに休日は52分を平日には38分を表示させたいのですが、うまく動作しません。自分なりに作った関数は下記のとおりです。 =IF(MATCH($C$1,休日07,0),52,38) ※ C1セルには日付を入力しています。 ※ 別シートに休日一覧表をつくり、休日07としています。 結果は休日には52分を表示するのですが、平日には38分が出ず、エラーが表示されます。どなたか、ご指導を宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
=IF(COUNTIF(休日07,$C$1),52,38) のほうがいいのでは?
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
回答No.3
MATCH関数は、該当が見つからない場合、#N/Aとエラーを返すようですから、その場合をISERROR関数で捉えます。 =IF(ISERROR(MATCH(A2,休日7,0)),38,52) ただし、IF文の第2、第3引数が逆転します。 その点、該当なしの場合、エラーを返さないで、0を返すような関数の利用は、(#1のご回答)良いかもしれません。
質問者
お礼
ご指導有り難う御座いました。 関数は何通りもの方法があるという事が解かり「目からウロコでした」 違った角度からも見ていこうと思います。
- ham_kamo
- ベストアンサー率55% (659/1197)
回答No.2
$C$1の日付が平日の場合、MATCH($C$1,休日07,0) の値は #N/A となってしまいます。 IF関数の中で値が#N/Aとなっているので、IF関数の結果も#N/Aになってしまうのです。 回避する方法としては、No.1さんの書かれたようにCOUNTIFなど、平日でもエラーが出ない関数を利用すればいいでしょう。
質問者
お礼
ご指導有り難うございます。 基本を理解していない自分には大変勉強になりました。
お礼
早速のご指導有り難うございました。 試してみたら、望んでいたとおりの結果で頭の中のモヤモヤが消えました。 これからも自分なりに、色々と学んでいこうと考えていますのでご指導宜しくお願いします。 「有り難うございました」