0

私の最初のテーブルには、書籍シリーズ「氷と炎の歌」の登場人物が記録されています。2 番目のテーブルには、『氷と炎の歌』で死亡したキャラクターが記録されています。最初のテーブルの 4 列目で、各行をテストして、2 番目のテーブルに一致する行があるかどうかを確認します。もしそうなら、そのキャラクターは死んだと言えます。シリーズを台無しにしないように、ここに発明されたサンプルデータがあります:

Characters table
+---------+---------+-----------+---------+
| Title   |  Name   |  Surname  | HasDied |
+---------+---------+-----------+---------+
| Ser     |  Jon    |  Skeet    |         |
| Lord    |  Jeff   |  Atwood   |         |
|         |  Leo    |  King     |         |
| Maester |  Joel   |  Spolsky  |         |
| Lady    | Experts | Exchange  |         |
+---------+---------+-----------+---------+

Death table
+---------+---------+-----------+
| Title   |  Name   |  Surname  |
+---------+---------+-----------+
|         |  Leo    |  King     |
| Ser     |  John   |  Doe      |
| Lady    | Experts | Exchange  |
+---------+---------+-----------+

文字テーブルの列で、その行の各値 ( 、、、およびその他の任意のフィールド)HasDiedを確認したいのですが、評価されている行の各値が死亡テーブルの単一の行にある場合は、次に、true または false (またはその他の有用な値) を出力します。したがって、文字テーブルは次のようになります。TitleNameSurname

Characters table
+---------+---------+-----------+---------+
| Title   |  Name   |  Surname  | HasDied |
+---------+---------+-----------+---------+
| Ser     |  Jon    |  Skeet    |  FALSE  |
| Lord    |  Jeff   |  Atwood   |  FALSE  |
|         |  Leo    |  King     |  TRUE   |
| Maester |  Joel   |  Spolsky  |  FALSE  |
| Lady    | Experts | Exchange  |  TRUE   |
+---------+---------+-----------+---------+

MATCH を使用して Death テーブルの任意の値を検索できることはわかっていますが、列ごとに 3 つの別々の MATCH 式を使用することはできません。一致する値が同じ行にあることが重要です。この検索を行う式をどのように記述できますか? 私は LibreOffice Calc を使用していますが、Calc でも機能すると思われる場合は、Excel ベースのソリューションも受け入れられます。

4

2 に答える 2

1

元の質問に一度に回答するための提案は、配列数式です

=NOT(ISERROR(MATCH(CONCATENATE(A2,B2,C2),CONCATENATE(A$11:A$14,B$11:B$14,C$11:C$14),0))))

これは、文字テーブル内の各名前の 3 つの部分を連結し、死亡テーブル内の各名前の 3 つの部分を連結することによって形成された配列で検索します。

于 2014-09-02T20:28:59.250 に答える
0

これには真剣に考える必要があったので、これがあなたが探している答えであることを願っています。

本質的に解決策は何ですか:

内部に COUNTIF ステートメントがある一連のネストされた IF ステートメントは、基本的に、2 番目のテーブルでその名前を見つけることができる列ごとにチェックします。存在する場合は、次の列をチェックします。論理テストでは、各列の COUNTIF 値が 0 より大きい場合、文字が死んでいることがわかります。

式は次のとおりです。テーブルが同じワークシート内で互いに重なっていると仮定しています

=IF(COUNTIF(A$11:A$14,A2)>0,IF(COUNTIF(B$11:B$14,B2)>0,IF(COUNTIF(C$11:C$14,C2)>0,TRUE,FALSE),FALSE),FALSE)

お役に立てば幸いです。

于 2014-09-01T20:42:00.853 に答える