2016-04-19 7 views
3

私はExcelでカレンダーを作成しようとしています。Excel:インデックス条件を使用して一致し、一意の値を表示しますか?

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 

は基本的に私は、細胞内のインデックスが一致式を使用したい 私はそうのようなカレンダーテンプレートが含まれているシート1を持っています私のカレンダーには、日付が一致する「主題」が表示されます。

たとえば、シート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)) 

これは、一致する日付を持っている私の科目を通して引っ張ると、一意の値が表示されます。しかし、それは機能していない、それは日付が一致することを保証せずにどんな結果でも引っ張り、また一意の値だけを表示することはありませんが、何度も同じ値を示します。

私はこの式で日付の一致を定義する必要があると思いますが、どうやってどこで、どこでは?

私が間違っている場所を誰かに見せてもらえますか?あなたのようSMALLとINDEXの行を取得するにはROWとの配列数式を必要とする複数のソリューションを取得するには、事前

答えて

1

おかげで(と仮定すると、日付がDで列Bと被験者である)

=INDEX(Data!$D:$D,SMALL(IF(Data!$B$2:$B$5000=Calendar!$G$18,ROW($2:$5000)),xxx)) 

これは単に1にxxxを変更する配列数式で、CTRL +シフトで確認する必要があります+

を入力します。最初のマッチを得るために、2番目のマッチを得るために、など。
あなたはまだちょうど尋ねる質問がある場合;)

、しかし、これは()あなたの提案のための

+0

おかげで、エラーを含むことができ、電話で行われた仕事するように見えると#NUMを生成しません!エラー –

+0

'$ D:$ D' ...に小さなタイプミスがありましたが、#NUMは配列式として入力されていない場合にのみ表示されます。それを今テストしたが、問題なく動いた。 –

関連する問題