Excel - 他のセルとの一致に基づいて特定のセルの値を返す

Excel - 他のセルとの一致に基づいて特定のセルの値を返す

次のようなシートがあります。

  A         B                 C        D           E           (DESIRED RESULT, F)
TIME1  IP_ADDRESS1          TIME1  IP_ADDRESS1   DOMAIN1              DOMAIN1
TIME2  IP_ADDRESS2          TIME2  IP_ADDRESS2   DOMAIN2              DOMAIN2
TIME3  IP_ADDRESS3          TIME3  IP_ADDRESS3   DOMAIN3          DOMAIN3 / DOMAIN4
TIME3  IP_ADDRESS1          TIME3  IP_ADDRESS3   DOMAIN4                  -
TIME3  IP_ADDRESS2          TIME4  IP_ADDRESS4   DOMAIN5                  -
TIME4  IP_ADDRESS4          TIME5  IP_ADDRESS5   DOMAIN6              DOMAIN5
TIME5  IP_ADDRESS5          TIME5  IP_ADDRESS6   DOMAIN7                  -

私が頭を悩ませてやろうとしていることは、次のことと同じです。
列 A の時刻が列 C の時刻と一致する場合、列 B の IP アドレスが列 D にもあるかどうかを確認し、一致するドメインを列 F に返します。

たとえば、上記のワークシートでは、両方の列セットで時間とドメインが一致するため、DOMAIN1 が最初に返されます。同じ時間と IP アドレスを持つドメインが 2 つあるため、DOMAIN3 / DOMAIN4 が返されます。これで意味がわかると思います。

INDEX、MATCH、VLOOKUPS などのバリエーションを試してみましたが、どうもうまくいきません。

ご協力いただければ幸いです...

答え1

私が正しく理解していれば、最後の行の結果には DOMAIN6 が含まれるはずで、次の数式でこれを実行できます。

=TEXTJOIN(" / ",TRUE,IFERROR(FILTER($E$2:$E$8,($C$2:$C$8=$A2)*($D$2:$D$8=$B2)),"-"))

つまり、列 C の対応する値が列 A の現在の行と一致し、列 D の対応する値が列 B の現在の行と一致する列 E のすべての行をフィルターします。

何も返されない場合はFILTER、単にダッシュを返します。

複数の項目を含む配列が返される場合は、指定された区切り文字を使用してそれらを結合します。

ここに画像の説明を入力してください

関連情報