プロが教える店舗&オフィスのセキュリティ対策術

エクセル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の区分を返す。

といった流れです。
お手数をお掛けしますが、お分かりになる方、
ご教授いただけますと幸いです。
文章がわかりにくい場合、補足いたします。

「【再】エクセルIF関数、address関」の質問画像

A 回答 (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))),""))))

この回答への補足

こんばんは。
ご回答をありがとうございます。

教えていただいたセルに合わせて、シート名も変更しながら、
上記の計算式を入れてみたのですが、結果が反映されませんでした。

複雑な計算式で、どこが違うのか。
きちんと説明ができなくて未熟で申し訳ないです。

補足日時:2013/05/13 22:28
    • good
    • 0

図を参照してください。



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を横にコピー

これでどうかな?
「【再】エクセルIF関数、address関」の回答画像1

この回答への補足

こんばんは。
ご回答、ありがとうございます。

今日、会社にて最チャレンジしてみました。
入力の仕方でしょうか。うまくいきませんでした。

A2セルに =E2+F2 と入れて下にコピー

というところで、すでに上手にできていなくて。
なんだかすごく丁寧にご入力いただいたり、添付いただいたのに
申し訳ございません。

整理して、もう一度やってみます。

補足日時:2013/05/13 22:26
    • good
    • 0

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