私はExcelでカレンダーを作成しようとしています。 私のカレンダーテンプレートを含むシート1があります。
April 8 April 9 April 10 April 11 April 12
SubjectA SubjectD SubjectG SubjectJ SubjectK
DescriptionA DecriptionD DescriptionG DescriptionJ Desc K
SubjectB SubjectE SubjectH
DescriptionB DescriptionE DescriptionH
SubjectC SubjectF SubjectI
DescriptionC DescriptionF DescriptionI
シート2には、次のような行のデータがあります。
ID Date Subject Description
1 08/04/2016 SubjectA DescrptionA
2 08/04/2016 SubjectB DescriptionB
3 08/04/2016 SubjectC DescriptionC
4 09/04/2016 SubjectD DescriptionD
5 09/04/2016 SubjectE DescriptionE
6 09/04/2016 SubjectF DescriptionF
7 10/04/2016 SubjectG DescriptionG
8 10/04/2016 SubjectH DescriptionH
9 10/04/2016 SubjectI DescriptionI
10 11/04/2016 SubjectJ DescriptionJ
11 12/04/2016 SubjectK Desc K
基本的に私は私のカレンダーのセルにインデックスマッチの式を使いたいのですが、日付がマッチする「件名」が表示されます。
たとえば、シート2には、4月8日の日付で、件名が「A」、「B」、および「C」の3行があります。したがって、これらは4月8日の下のシート1のカレンダーに表示されます。
私はこれを行うためにこの式を使用しようとしています:
=INDEX(Data!$G$2:$G$5000, MATCH(0, COUNTIF(Calendar!$G$18:$G18, Data!$G$2:$G$5000), 0))
これは私の科目を通して日付を一致させ、一意の値を表示します。しかし、それはうまくいきません、日付が一致することを保証することなく、どんな結果でも引き抜きます、そしてまた、ユニークな値だけを示さず、何度も何度も同じ値を示しません。
私はどこかでこの式で自分の日付の一致を定義する必要があると思いますが、どうやって、またはどこでわからないのですか?
誰かが私が間違っているところを私に見せることができますか?
前もって感謝します
回答:
回答№1は1複数の解を得るには、SMALLのようにINDEXの行を取得するためにROWを持つ配列式が必要です(日付は列Bにあり、件名はDにあると仮定します)。
=INDEX(Data!$D:$D,SMALL(IF(Data!$B$2:$B$5000=Calendar!$G$18,ROW($2:$5000)),xxx))
これは配列式であり、Ctrl + Shift + Enterで確認する必要があります。
単に xxx
最初のマッチを取得するには1に、2番目のマッチには2を続けます。
それでも質問がある場合は、質問してください。)
(電話で完了、エラーが含まれる可能性があります)