web-dev-qa-db-ja.com

条件に基づいて複数のセルの値を連結するにはどうすればよいですか?

セルの行を検索する必要があり、特定の値を含むすべてのセルについて、上のセルから値を返します。

たとえば、次のことを考慮してください

+---+--------+--------+--------+--------+--------+----------+
|   |   A    |   B    |   C    |   D    |   E    |     F    |
+---+--------+--------+--------+--------+--------+----------+
| 1 |   UK   |   DE   |   FR   |   HK   |   TW   |          |
+---+--------+--------+--------+--------+--------+----------+
| 2 |   YES  |        |   YES  |   YES  |        |          |
+---+--------+--------+--------+--------+--------+----------+
| 3 |        |   YES  |        |   YES  |   YES  |          |
+---+--------+--------+--------+--------+--------+----------+
| 4 |   YES  |        |        |   YES  |        |          |
+---+--------+--------+--------+--------+--------+----------+

したがって、セルF2、F3、およびF4に数式を挿入すると、次の結果が得られます。

F2 = UK,FR,HK
F3 = DE,HK,TW
F4 = UK,HK

これはできますか?

ありがとう

5
Typhoon101

F2で、次の数式をコピーして貼り付けます。

=CONCATENATE(IF($A2="YES",A$1&",",),IF($B2="YES",B$1&",",),IF($C2="YES",C$1&",",),IF($D2="YES",D$1&",",),IF($E2="YES",E$1&",",))

列に対して下にドラッグします。

説明:

IF($A2="YES",A$1&",",)
IF($B2="YES",B$1&",",)
IF($C2="YES",C$1&",",)
IF($D2="YES",D$1&",",)
IF($E2="YES",E$1&",",)

上記のコードは5回書き直され、列名が変更されました。現在の行のセルに「YES」があるかどうかをチェックします。含まれている場合は、列のヘッダーである'A$1'を入力します。 $ 1は、最初の行、つまりヘッダーへの絶対参照であることに注意してください。

最後に、IFステートメントを使用して5つのCONCATENATEステートメントすべてをカプセル化しました。

お役に立てれば。

2