6

ifvlookupmatch、関数の組み合わせを使用してiserrorいますが、残念ながら正しい式を見つけることができませんでした。

一致する 2 つの列を比較するのは簡単です。困難な部分は、一致が見つかったときに特定のセルを返すことです。

だから私が扱っているのは、このようなものです:

Header     Column A   Column B   Column C  Column D
Row 1      111        AAA        112
Row 2      222        BBB        111
Row 3      333        CCC        221
Row 4      444        DDD        333

Column Aの列の値をと一致させようとしていますColumn C。したがって、一致する場合は、対応する値Column Bを入力しColumn Dます。素晴らしい説明ではありませんが、私が探しているものを視覚的に示すことができます

Header     Column A   Column B   Column C  Column D
Row 2      111        AAA        112
Row 3      222        BBB        111       AAA
Row 4      333        CCC        221
Row 5      444        DDD        333       CCC

CellsA1は cell と一致するため、戻りC3たいDB2

Row と同じ5です。A4C5一致するため、値が必要ですB5

これが理にかなっている場合、またはさらに明確にする必要がある場合はお知らせください。

4

4 に答える 4

8

この質問と非常によく似ています。範囲にいくつかの変更はありますが、列 D に同じ式を提案します。

=IFERROR(VLOOKUP(C1, A:B, 2, 0), "")

match を使用したい場合は、次INDEXのように使用する必要があります。

=IFERROR(INDEX(B:B, MATCH(C1, A:A, 0)), "")

しかし、これは私にとって非常に長いので、2 つの機能 (または、機能がわからない場合は 3 つ) を適切に使用する方法を知る必要がありますIFERROR

注:場合によってはand=IFERROR()の代わりになる場合があります :)=IF()=ISERROR()

于 2013-08-12T16:43:27.793 に答える
1

説明する理由から、B 列と C 列を交換することをお勧めします。次に、D2 で次のように入力します: =VLOOKUP(A2, B2:C4, 2, FALSE)

最後に、残りのセルの数式をコピーします。

説明: VLOOKUP は、まず B2 から C4 (2 番目の引数) の範囲で A2 の値を検索します。注: VLOOKUP は、常にこの範囲の最初の列を検索します。これが、何かを行う前に 2 つの列を交換する必要がある理由です。

完全一致が見つかると、隣接するセル (3 番目の引数) の値が返されます。

つまり、3 番目の引数として 1 を指定すると、関数は範囲の最初の列の値を返します (探していた値と同じになります)。2 を入力すると、範囲内の 2 番目の列の値が返されます (見つかった値の右隣のセルの値)。

FALSE は、完全一致を検索していることを示します。TRUE を指定すると、近似一致を検索します。

于 2015-12-28T10:49:11.443 に答える
1

D1に必要なものは次のとおりです。 =VLOOKUP(C1, $A$1:$B$4, 2, FALSE)

これを列 D の残りの部分にコピーできるはずです。

于 2013-08-12T16:23:10.937 に答える