• 締切済み

【再】エクセルIF関数、address関数等の件

エクセル2010を使用しております。 昨日、質問させていただきうまく行ったのですが、 修正があり、ネストでうまくいきませんでした。 もう一度、よろしくお願いいたします。 ■シート1 A列:番号 C列:区分 D列:日付 E列:時間(9時・18時)⇒プルダウンで選択 F列:種類(毎回・定期・突発)⇒プルダウンで選択 ■シート2 添付いたしました。 ■やりたいこと ▼前提条件 シート1に日付と時間を入力します。 入力値が、シート2(添付)の日付と時間を検索する対象となる。 ▼反映したいこと シート1の時間が「9時」ならば、 シート2のオレンジの9時の右の空白に答えが反映されるようにしたい。 何を反映したいか? シート1の番号をシート2の「掲載番号」に返す。 シート2の「掲載項目」には、シート1の区分を返す。 ※18時も同様です。 シート1の種類が「突発」ならば、 シート2の臨時の右の空白に シート1の番号を「掲載番号」に返す。 シート2の「掲載項目」には、シート1の区分を返す。 といった流れです。 お手数をお掛けしますが、お分かりになる方、 ご教授いただけますと幸いです。 文章がわかりにくい場合、補足いたします。

みんなの回答

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

シート1ではA1セルからF1セルにかけて項目名が有り2行目から下方にデータが入力されているとします。 また、E2セルから下方には9時、18時などが入力されているとします。 シート2ではC1セルから右横の列に日付が、A3セルに9時、A5セルに18時、A7セルに臨時の文字列が、B3セルからB8セルには掲載番号、掲載項目の文字が交互に入力されているとします。 C3セルには次の式を入力して右横方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(COUNTIFS(Sheet1!$D:$D,C$1,Sheet1!$E:$E,$A3,Sheet1!$F:$F,"<>突発"),INDEX(Sheet1!$A:$A,SUMPRODUCT((Sheet1!$D$1:$D$1000=C$1)*(Sheet1!$E$1:$E$1000=$A3)*(Sheet1!$F$1:$F$1000<>"突発"),ROW(A$1:A$1000))),IF(COUNTIFS(Sheet1!$D:$D,C$1,Sheet1!$E:$E,$A2,Sheet1!$F:$F,"<>突発"),INDEX(Sheet1!$C:$C,SUMPRODUCT((Sheet1!$D$1:$D$1000=C$1)*(Sheet1!$E$1:$E$1000=$A2)*(Sheet1!$F$1:$F$1000<>"突発"),ROW(A$1:A$1000))),IF(AND(COUNTIFS(Sheet1!$D:$D,C$1,Sheet1!$F:$F,"突発")>0,ROW(A1)=5),INDEX(Sheet1!$A:$A,SUMPRODUCT((Sheet1!$D$1:$D$1000=C$1)*(Sheet1!$F$1:$F$1000="突発"),ROW(A$1:A$1000))),IF(AND(COUNTIFS(Sheet1!$D:$D,C$1,Sheet1!$F:$F,"突発")>0,ROW(A1)=6),INDEX(Sheet1!$C:$C,SUMPRODUCT((Sheet1!$D$1:$D$1000=C$1)*(Sheet1!$F$1:$F$1000="突発"),ROW(A$1:A$1000))),""))))

snoopykun
質問者

補足

こんばんは。 ご回答をありがとうございます。 教えていただいたセルに合わせて、シート名も変更しながら、 上記の計算式を入れてみたのですが、結果が反映されませんでした。 複雑な計算式で、どこが違うのか。 きちんと説明ができなくて未熟で申し訳ないです。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

図を参照してください。 Sheet1のA列に作業列を挿入。  A2セルに =E2+F2 と入れて下にコピー Sheet2のC3:C8に以下のように式を入れる  C3 =IF(COUNTIF(Sheet1!$A:$A,C1+"9:00")=0,"",VLOOKUP(C1+"9:00",Sheet1!$A:$G,2,FALSE))  C4 =IF(COUNTIF(Sheet1!$A:$A,C1+"9:00")=0,"",VLOOKUP(C1+"9:00",Sheet1!$A:$G,4,FALSE))  C5 =IF(COUNTIF(Sheet1!$A:$A,C1+"18:00")=0,"",VLOOKUP(C1+"18:00",Sheet1!$A:$G,2,FALSE))  C6 =IF(COUNTIF(Sheet1!$A:$A,C2+"18:00")=0,"",VLOOKUP(C2+"18:00",Sheet1!$A:$G,4,FALSE))  C7 =IF(COUNTIFS(Sheet1!$E:$E,C1,Sheet1!$G:$G,"突発")=0,"",C3&C5)  C8 =IF(COUNTIFS(Sheet1!$E:$E,C1,Sheet1!$G:$G,"突発")=0,"",C4&C6)  C3:C8を横にコピー これでどうかな?

snoopykun
質問者

補足

こんばんは。 ご回答、ありがとうございます。 今日、会社にて最チャレンジしてみました。 入力の仕方でしょうか。うまくいきませんでした。 A2セルに =E2+F2 と入れて下にコピー というところで、すでに上手にできていなくて。 なんだかすごく丁寧にご入力いただいたり、添付いただいたのに 申し訳ございません。 整理して、もう一度やってみます。