プロが教えるわが家の防犯対策術!

一つのシートのデータ(同じ工程を踏む複数のプロジェクトのスケジュールをまとめたもので、テンプレートに対して日付を入力していく形式のもの)の日付の情報を別シートのカレンダーに自動反映できる関数を入力したいのですが、方法がわかりません。
手打ちした完成イメージ図を添付いたしますので、方法が分かる方ご教示いただけますと幸いです。

「Excelでデータを別のシートのカレンダ」の質問画像

A 回答 (2件)

No1です



>2番目以降の改行について、2番目のヒットの中に組み込む場合、
>どこに入れたら良いのでしょうか?
表示する文字列と一体なので、
 IFERROR(CHAR(10) & INDEX( ) & "・" & INDEX( ),"")
の形式にしておけば宜しいのでは?
(該当文字が存在しない(=エラー)時には、無視されますので)
    • good
    • 2
この回答へのお礼

助かりました

ありがとうございました!
おかげさまで出来そうです。
大変助かりました!

お礼日時:2021/05/24 23:24

こんにちは



直接求めようとするとかなり面倒ですね。
対象セル範囲が明確でないし、データ形式も不明なので勝手に設定。

・添付の上段のシート名は「Sheet1」と仮定
・両シートとも日付はシリアル値とし、日付で一致検索できるものと仮定
・プロジェクト名と工程名は中黒(・)で連結する
・日付に最初にヒットしたものを表示する
で、良ければ・・・

カレンダーのB4セルに、
=IF(B3="","",IFERROR(INDEX(Sheet1!$1:$1,MOD(AGGREGATE(15,6,(ROW($C$4:$D$9)*100+COLUMN($C$4:$D$9))/(Sheet1!$C$4:$D$9=B3),1),100)) & "・" & INDEX(Sheet1!$A:$A,INT(AGGREGATE(15,6,(ROW($C$4:$D$9)*100+COLUMN($C$4:$D$9))/(Sheet1!$C$4:$D$9=B3),1)/100)),""))
を入力して、必要な部分にコピー。
で、表示できるものと思います。


※ FILTER関数が使用できる環境なら、もっと簡単な式にできると思いますが、私の環境では使えないのでローテクな方法での一例です。
(質問者様の環境で使えるのなら、他の方の回答を待つ方が賢明と思います)
※ 日付がシリアル値でない場合は、関数で値をシリアル値に変換して上式に編入すれば計算できます。例えば、DATE関数やDATEVALUE関数などで。
※ もしも、複数項目のヒットも表示したい場合は、上式を応用して2番目のヒットを求め、セル内改行を入れて連結すれば表示できます。(ランク1の部分を2に変える)
要領としては、
 「最初のヒット」 & CHAR(10) & 「2番目のヒット」
のような感じです。
ただし、上のそのままだと、2番目がない場合に改行コードが残ってしまうので、CHAR(10)は2番目のヒットの中に組み込んで、2番目がない場合は無視されるようにした方がよいでしょう。
3番目以降も同様です。
    • good
    • 2
この回答へのお礼

ありがとうございます。
おかげさまで出来そうです。
2番目以降の改行について、2番目のヒットの中に組み込む場合、どこに入れたら良いのでしょうか?
(長い関数の中で改行を指示するのに慣れておらず…教えていただけますと幸いです)

お礼日時:2021/05/21 12:16

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

このQ&Aを見た人はこんなQ&Aも見ています