アプリ版:「スタンプのみでお礼する」機能のリリースについて

EXCEL関数でわからない点があり質問です。

EXCELにて、ある特定の曜日のときに、
特定の数字を返す、という関数を入れようとしているのですが、
なぜかうまくいきません。

まず、B列に入った日付から曜日番号を返す関数をA列に入れて
=WEEKDAY(B4,1)
としています。

その次に、A列のセルが1か2か7の時に、K列の数字を返す、
という関数を入力しました。
=IF(OR(A4="1",A4="2",A4="7"),K4,"")

関数的には間違いがないように思うのですが、
どうも、A4="1"といった関数がうまく動いていないようです。

たとえそれが1であっても、TRUEを返してくれません。

WEEKDAYの番号は数字とは違うのでしょうか?

どなたか、お分かりになる方、
教えてください!

A 回答 (3件)

>WEEKDAYの番号は数字とは違うのでしょうか?



数値です。

>=IF(OR(A4="1",A4="2",A4="7"),K4,"")

文字でなく数値なので、「"」で囲むのはやめましょう。

>=IF(OR(A4=1,A4=2,A4=7),K4,"")
    • good
    • 0
この回答へのお礼

丁寧なご回答ありがとうございました。

解説して下さったおかげで、
自分の間違いがどこなのか、
しっかり理解することができました。

本当にありがとうございます。

お礼日時:2008/08/20 11:23

関数を使うとき、


・引数
・関数の(返す)値
が数値か文字列かは基本的なことで、いつも意識すべきことすよ。
WEEKDAy関数の返す値は数値です。
それを文字列で判別していてはだめ。
ーー
ただしエクセルでは数字文字は出来るだけ数値化する仕様なので、そこも注意のこと。
また=MID(123,2,2)というのが可能だったりする。
また日付は、値としては、日付シリアル値という数値です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
私の入力した関数では
文字列として判別されていたんですね!
無事解決することができました。
ありがとうございました!

お礼日時:2008/08/20 11:20

◆ANo.1さんの回答が基本ですが、こんな方法もありますよ


=IF(OR(A4={1,2,7}),K4,"")
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
こちらのほうがシンプルでよいですね!
無事に欲しかった値を返す事ができました。
本当にありがとうございます。

お礼日時:2008/08/20 11:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!