• 締切済み

IF関数 エクセル

     A    B    C    D    E    F    G    H 1        会議室      部署名   会議      打合せ      2   9:00                  開始  終了   開始  終了 3   10:00  C部署      C部署 10:00  11:00  13:00  14:00 4   11:00  B部署      B部署 11:00  13:00       5   12:00  B部署      D部署             14:00  15:00 6   13:00  C部署        ・ 7   14:00  D部署        ・ 8   15:00        D3~Hを手入力すると、B2のスケジュール表に部署名が自動反映される式を教えてください。

みんなの回答

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

作業列を設けて対応します。 I3セルには次の式を入力してJ3セルまでオートフィルドラッグコピーしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>COUNT(E:E)+COUNT(G:G),"",IF(ROW(A1)<=COUNT(E:E),INDEX(E:E,MATCH(SMALL(E:E,ROW(A1)),E:E,0)),INDEX(G:G,MATCH(SMALL(G:G,ROW(A1)-COUNT(E:E)),G:G,0)))) K3セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(I3="","",IF(COUNTIF(E:E,I3),INDEX(D:D,MATCH(I3,E:E,1)),IF(COUNTIF(G:G,I3),INDEX(D:D,MATCH(I3,G:G,1)),""))) その後にB3セルには次の式を入力して下方にオートフィルドラッグコピーします。 =IF(COUNTIF(I:I,TIME(HOUR(A3),MINUTE(A3),0)),INDEX(K:K,MATCH(TIME(HOUR(A3),MINUTE(A3),0),I:I,0)),IF(COUNTIF(J:J,TIME(HOUR(A3),MINUTE(A3),0))=0,B2,"")) 時間でMATCH関数を使うときにはなかなか良いデータが得られませんでしたのでTIME関数を導入しています。

  • mar00
  • ベストアンサー率36% (158/430)
回答No.4

関数ではないですが シート名のところで右クリック→コードの表示を選択→VBA画面が出てきますので貼り付けてください。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 5 And Target.Column <> 7 Then Exit Sub On Error GoTo LINE If Range("B" & Hour(Target) - 7) <> "" Then X = MsgBox("すでに予定が入っています。" & vbNewLine & "変更しますか?。", vbYesNo) If X = vbYes Then Range("B" & Hour(Target) - 7) = Range("D" & Target.Row) End If Else Range("B" & Hour(Target) - 7) = Range("D" & Target.Row) End If LINE: End Sub 開始時間を入力すると表示されます。

  • 178nso
  • ベストアンサー率31% (21/66)
回答No.3

ただ D3の文字をB2セルに表示させるのであれば、IF関数ではなく B2セルに =D3 と入れれば表示はされます。

  • 178nso
  • ベストアンサー率31% (21/66)
回答No.2

「B2のスケジュール表」ってなんですか? B2のセルにD3を表示するってことですか?  もう少し詳しく説明お願いします。

hiro33333
質問者

補足

B2のセルにD3を表示するってことです。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

全く同じ質問を出すことは自粛して下さい。

関連するQ&A