- ベストアンサー
時間指定したセル内に名前を反映させるには?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
横方向で時間が重複してあるので、範囲指定無しの個別指定で B2に =IF(B1=$M$2,$O$2,IF(B1=$P$2,$R$2,IF(B1=$S$2,$U$2,""))) として右にコピーでいかがですか。
その他の回答 (2)
- SI299792
- ベストアンサー率47% (774/1619)
B1~K1を選択 条件付き書式、新しいルール 数式を使用して、書式設定するセルを決定 =AND(B$1>=$M2,B$1<$N2) 書式、塗りつぶし。赤紫。 OK。OK。 条件付き書式、新しいルール 数式を使用して、書式設定するセルを決定 =AND(B$1>=$P2,B$1<$Q2) 書式、塗りつぶし。水色 OK。OK。 条件付き書式、新しいルール 数式を使用して、書式設定するセルを決定 =AND(B$1>=$S2,B$1<$T2) 書式、塗りつぶし。青 OK。OK。
お礼
ありがとうございます!
- NuboChan
- ベストアンサー率47% (785/1650)
求められている関数ではありませんが、VBAでの回答です。 (初心者のコードなので不具合あればご理解ください。) Option Explicit Sub FindLastColoredCells() Dim i As Long Dim lastCol As Long Dim pinkLast As Long Dim blueLast As Long Dim aquaLast As Long ' 1行目の最後の列を探す lastCol = Cells(1, Columns.Count).End(xlToLeft).Column ' ピンク色の最後のセルを探す For i = 2 To lastCol If Cells(2, i).Interior.ColorIndex = 7 Then pinkLast = i End If Next i ' 水色の最後のセルを見つける For i = 2 To lastCol If Cells(2, i).Interior.ColorIndex = 8 Then aquaLast = i End If Next i ' 青色の最後のセルを見つける For i = 2 To lastCol If Cells(2, i).Interior.ColorIndex = 11 Then blueLast = i End If Next i ' 結果を出力 Range("M1") = Range("B1") Cells(1, 14).Value = Cells(1, pinkLast).Value Cells(1, 15).Value = Cells(1, pinkLast).Value Cells(1, 16).Value = Cells(1, aquaLast).Value Cells(1, 17).Value = Cells(1, aquaLast).Value Cells(1, 18).Value = Cells(1, blueLast).Value Range("M1:R1").NumberFormatLocal = "h:mm" End Sub
お礼
ありがとうございます
お礼
できました!ありがとうございます。