-2

シート/テーブルの場合:

+--------+-------------+------------+----------------+
| Person |    Diag1    |   Diag2    |     Diag3      |
+--------+-------------+------------+----------------+
| A      | 431 - TB    | 652 - PLA  |                |
| B      | 614 - Cough | 884 - Cold | 952 - Headache |
| C      | 747 - BLA   | 949 - POP  |                |
+--------+-------------+------------+----------------+

私はルックアップ列を持っています:

+------+
| Diag |
+------+
|  431 |
|  650 |
|  949 |
|  555 |
|  484 |
+------+

それぞれの人について、Diag ルックアップ列の数値が Diag1、Diag2、または Diag 3 のいずれかの列にある場合、その人は元のテーブルから選択され、すべての関連付けられた列には数値のみが含まれます。

この場合、サンプル出力:

+--------+-------+-------+-------+
| Person | Diag1 | Diag2 | Diag3 |
+--------+-------+-------+-------+
| A      |   431 |   652 |       |
| C      |   747 |   949 |       |
+--------+-------+-------+-------+
4

1 に答える 1

1

これは数式で行うことができますが、数式は見栄えがよくありません。サンプル データを使用して、次のような設定があるとします。元のテーブルは列 A:D にあり、ルックアップ列 "Diag" は列 F にあり、結果は列 H:K にあります。

Amulya Sharma の tigeravatar の例

セル H2 には、この配列数式がコピーされています。CtrlShiftEnter配列数式は、 だけでなく、で確認する必要があることに注意してくださいEnter。数式バーに中かっこ {} で囲まれているので、正しく行われたことがわかります。中括弧を手動で挿入しようとしないでください。

=IFERROR(INDEX(A:A,SMALL(IF(ISNUMBER(FIND($F$2:$F$6,$B$2:$D$4)),ROW($B$2:$D$4)),ROW(H1))),"")

セル I2 には、次の正規の数式が繰り返しコピーされています (配列エントリは必要ありません)。

=IF(H2="","",IF(VLOOKUP($H2,$A:$D,MATCH(I$1,$A$1:$D$1,0),FALSE)="","",--TRIM(LEFT(SUBSTITUTE(VLOOKUP($H2,$A:$D,MATCH(I$1,$A$1:$D$1,0),FALSE),"-",REPT(" ",999)),999))))
于 2016-04-26T22:06:31.743 に答える