0

2 つのワークシート間の VLOOKUP クエリに基づいて、行にステータスを割り当てる必要があります。問題は、識別子が常に一意であるとは限らないことです。ただし、識別子 + 日付値は一意である必要があります。私が使いたかった:

=VLOOKUP(A3&H3,'OtherSheet'!D:E,1,FALSE)  

A3 が識別子で、H3 が対応する日付です。他のシートの D は識別子で、E は日付列です。ただし、#N/A が表示され続けます。

これは、「識別子 + 日付」に一致するものがないことを意味するのでしょうか、それとも Excel が列 D または E で「識別子 + 日付」を探しているのでしょうか? 後者の場合、検索パターンに一致するときに Excel に D と E を連結させるにはどうすればよいですか?

4

3 に答える 3

0

代わりに Index/Match を使用することをお勧めします。複数のものを検索する場合、Vlookup は注意が必要です。Index/Match を使用する方法は次のとおりです。

スプレッドシートの設定方法がわからない場合は、次の方法で行うことができます。

私の理解が正しければ、A3 を使用して で一致を見つけ、OtherSheet!DH3 の一致を で検索する必要がありますOtherSheet!E。これには、インデックス マッチが最適です。vLookup の代わりに、

=Index(OtherSheet!D:D&","&Text(OtherSheet!E:E,"mm-dd-yyyy"),Match(A3&H3,OtherSheet!D&OtherSheet!E,0))、 で入力しCTRL+SHIFT+ENTERます。

Index()が返すのは、識別子と日付をコンマで区切って連結したものです。ただし、次のようなテーブルがある場合:

ここに画像の説明を入力

そのインデックス/一致式は「バットマン」を返します。返されるインデックスは、名前付き範囲 G2:G5 です。A1 (識別子) と B1 (日付) の一致を探してから、範囲 E2:E5 にある識別子と日付を (先ほど入力した順序で) 検索しています。 F2:F5で。両方に一致する場合は、G2:G5 で名前を返します。

Index/Match の使用に関するサイトへのリンクと、vlookup に対する別の利点があります。

于 2015-08-24T04:47:04.543 に答える
0

その数式は、識別子のみを含む ColumnD で H3 (識別子と日付) と連結された A3 を検索しようとしているOtherSheetため、必然的に失敗します。はい、Excel は列 D で「識別子 + 日付」を探しています。

Excel は、A3 と H3 を「その場で」(数式内で) 喜んで連結OtherSheetしますが、ColumnD と ColumnE の値を同じように連結することはあまりありません。従来の解決策は、通常、このような場合に最も単純であるため、D 値と E 値を連結するヘルパー列を追加し、求める値と同じ行に保持することで、VLOOKUP の準備をすることです。

VLOOKUP は右側のみを検索するため、これは通常、検索対象の値の左側に追加される列です。C で言うか、C のすぐ右側に列を挿入します。単一の列をチェックする場所は重要ではありません。次のような式を使用して、これを ( でOtherSheet) ColumnZ として 追加できます。

=D2&E2  

スーツにコピーダウン*。繰り返しますが、単一の列のみをチェックしているため、そのような数式がどの行に配置されているかは問題ではありません。

ただし、単純な代替手段として A3&H3 が存在するかどうかを確認するだけなのでOtherSheet、COUNTIFS を適用することもできます。

=COUNTIFS(OtherSheet!D:D,A3,OtherSheet!E:E,H3)

これ以外の結果は、ヘルパー列を必要とせず 0に、テスト対象の組み合わせが存在することを示す必要があります。OtherSheet

*識別子の形式によっては、連結によってあいまいさが生じる可能性があります。たとえば、11/1/15 と連結された ID90 は、1/1/15 と連結された ID901 と区別できない可能性があるため、VLOOKUP 式 (A3&"|"&H3単に ではなくA3&H3) としたがって、ヘルパー列でも=D2&"|"&E2.

于 2015-03-24T07:20:48.067 に答える