• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:LOOKUPとIF関数でできますか)

LOOKUPとIF関数を活用して作業日報を作成する方法とは?

このQ&Aのポイント
  • 作業報告書のデータを利用して作業日報を作成したい場合、LOOKUPとIF関数を活用することができます。
  • 具体的な例として、A列に日付があり、出勤した日にはH列の日にちの隣のI列に「出勤」と表示したい場合、LOOKUP関数とIF関数を組み合わせることで実現できます。
  • ただし、LOOKUP関数を使用する際には、A列とH列の検索値が変わるためエラーが発生することがあります。その場合は、他の方法を検討する必要があります。

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

  • ベストアンサー
回答No.7

#4,#6です。ちょっと間違い(2月がまずい)があったので H3セルに =IF(H2="","",IF(DAY(H2+1)<>DAY(H2)+1,"",H2+1)) に修正

BIG1fukuoka
質問者

お礼

最後の最後まで考えていただき ありがとうございます。感謝します。

その他の回答 (6)

回答No.6

#4です。Lookup関数でもA列に重複がなく、昇順になっている条件ならば使えます。 A列の範囲を限定してやれば、完全一致(MATCH、VLOOKUP)よりも計算速度は断然速いです。 ただ、そこまでトリッキーな人は、あまりいないと思いますが、 タイトルがタイトルだったので挑戦してみました(^^; で、日付は、H2セルに 2010/12/1 と入力し H3セルは =IF(DAY(H2+1)<>DAY(H2)+1,"",H2+1) 下へオートフィル もちろん H2セルはセル参照で =L1でも良いです ただ、例題は 12月3日の下の行は 12月4日ではなく12月5日です。 規則性がないなら手入力です。土曜日は抜くとか?

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

この場合、LOOKUP関数は使用してはいけません、既回答のCOUNTIF,MATCH関数か、又はVLOOKUP関数の完全一致型にして下さい。 例えば、12/3はA列存在しない為、LOOKUP関数は検索値以下の最大値である12/2を使用しますので結果が期待外になります。 COUNTIFやMATCH関数は回答済みなのでVLOOKUP関数例です。=IF(ISNUMBER(VLOOKUP(D2,A:A,1,FALSE)),"出勤","公休")

BIG1fukuoka
質問者

お礼

いろいろ ありがとうございます。 このような式もあるのですね。日付の部分を2010/12/1に様な 入力で統一すればうまむ行きましたが、 私のようの日付のセルに L1+1などど 書いてるとやはり 無理なのでしょうか...

回答No.4

I2セルに =IF(ISNA(LOOKUP(H2,A:A)),"公休",IF(LOOKUP(H2,A:A)=H2,"出勤","公休")) ということかなあ

BIG1fukuoka
質問者

補足

やはり A列 h列も表示の文字でなく 検索値があってないと できないものですよね! 日付を簡単に表示させる方法は、ありますか! すみません

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.3

=IF(COUNTIF(A:A,H2)>0,"出勤","公休") でもいいです。

BIG1fukuoka
質問者

お礼

ありがとうございます。 いろんな方法がありますね。勉強になります。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

I2に、 =IF(ISERROR(MATCH(H2,A:A,0)),"公休","出勤") と入力して、下にコピペ。

BIG1fukuoka
質問者

お礼

この式でもうまくゆきました。 ありがとうございます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

I2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(A:A,H2)>0,"出勤","公休")

BIG1fukuoka
質問者

お礼

早急の回答ありがとうございます。