アプリ版:「スタンプのみでお礼する」機能のリリースについて

画像の通り、ベースとなる表の曜日とカレンダーの曜日が同じの場合、
ベースの表の列の情報(値)をカレンダーに反映することは可能でしょうか?
※セルの色も反映させたいのですが、できればカレンダー内に関数と条件付き書式での対応は
 避けたいと考えております。
よろしくお願いします。

「ベースとなる表の曜日を基準にデータをカレ」の質問画像

A 回答 (6件)

単に、関数を隠せばいいのであれば、校閲の保護で表示しないを選択で隠せますが。

    • good
    • 0

表を引用するのであれば、L7のセルに


=INDEX($B$6:$I$12,MATCH($K7,$B$6:$B$12,0),MATCH(L$6,$B$6:$I$6,0))
を入力し、あとは下と右にフィルコピーすれば曜日と合致した表の内容を反映可能です。
色を反映させるのであれば、やはり条件付き書式になるかと・・・。
    • good
    • 0

書式を数式で反映させることは一般機能ではできません。



>できればカレンダー内に関数と条件付き書式での対応は
VBAご希望ということでしょうか?
    • good
    • 0

こんにちは、


>カレンダー内に関数と条件付き書式での対応は 避けたいと考えております
であるなら、VBAになるかと思います。

やり方は色々ありますので、一例です。
標準モジュールに
Sub sample()
  Dim i As Long, col As Long
  With ActiveSheet
    For i = 12 To .Cells(6, Columns.count).End(xlToLeft).Column
      col = .Range("C6:I6").Find(.Cells(6, i), LookAt:=xlPart).Column
      .Cells(7, col).Resize(6).Copy .Cells(7, i)
    Next
  End With
End Sub

ただ、VBAマクロの知識がある程度必要になると思います。
添付画像の表組位置でサンプルを書いていますので、
表組を変更したりすると不具合(期待する処理が出来ない)を起こします。
コードの内容を理解する必要があります。

For i = 12 To .Cells(6, Columns.count).End(xlToLeft).Column
6行目のL列から入力のある最終列まで繰り返し処理をします。
col = .Range("C6:I6").Find(.Cells(6, i), LookAt:=xlPart).Column
C6:I6範囲内にL列以降の6行目の値(月など)をキーに検索して合致する列番号を変数colに代入しています。
.Cells(7, col).Resize(6).Copy .Cells(7, i)
前での抽出した値を基に7行目以降をコピぺしています。Resize(6)は1行を6行に変更しています(7~12行)
Next 繰り返し
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
希望通りの動きになり大変助かりました。

お礼日時:2020/07/23 04:08

添附圖參照



L6: =TEXT(L5,"aaa")
L7: =INDEX($C$7:$I$12,ROW(A1),MATCH(L$6,$C$6:$I$6,0))

範圍 L6:AP12 に設定した[条件付き書式]
ルールの種類:“数式を…を決定”
ルールの内容↓
 ̄ ̄条件2↓
 ̄ ̄ ̄ ̄数式→ =L7="△"
 ̄ ̄ ̄ ̄書式→ 黄の塗りつぶし色
 ̄ ̄条件1↓
 ̄ ̄ ̄ ̄数式→ =L7="×"
 ̄ ̄ ̄ ̄書式→ 灰の塗りつぶし色

【個人的コメント】
》 カレンダー内に関数と条件付き書式での対応は避けたい
其の理由を御聞かせ願いたし
「ベースとなる表の曜日を基準にデータをカレ」の回答画像5
    • good
    • 0

こんにちは!



5行目がシリアル値で、順序良く日付が並んでいるのであれば・・・

Sub Sample1()
 Dim j As Long
 Dim myCol As Long
  For j = 12 To Cells(5, Columns.Count).End(xlToLeft).Column '//←L列~5行目最終列まで//
   myCol = WorksheetFunction.Weekday(Cells(5, j), 2)
    Cells(7, myCol + 2).Resize(7).Copy Cells(7, j)
  Next j
End Sub

こんな感じでいけると思います。m(_ _)m
    • good
    • 0

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