0

次の式を使用して

=INDEX($A$2:$B$6,MATCH($D2,$B$2:$B$6,0),1)

からcolDマッチングで作成します。問題は、一致するものが見つからない場合に、を挿入することです。item_idsmodel_numcolCmodel_numcolC#N/AcolD

item_id (colA)   model_num (colB)   data (colC)         new_data (colD)
--------         ----------         -------             ----------
870834           FD021              FD1424B             10752514
16595156         S3TA03B            Not Required        #N/A
10752514         FD1424B            S3TA03B             16595156
10756167         SU03B              Included with Kit   #N/A
14667130         KDAD               SU03B               10756167

一致するものが見つからない場合は、既にあるものを にコピーするだけcolCですcolD

item_id (colA)   model_num (colB)   data (colC)         new_data (colD)
--------         ----------         -------             ----------
870834           FD021              FD1424B             10752514
16595156         S3TA03B            Not Required        Not Required
10752514         FD1424B            S3TA03B             16595156
10756167         SU03B              Included with Kit   Included with Kit
14667130         KDAD               SU03B               10756167

質問
式が一致するものを見つけられない場合、 to の内容を単にコピーするようにどのcolCように指示できますか?colCcolD

4

2 に答える 2

3

あなたの数式は機能しません。そこに MATCH 関数が必要だと思います....また、数式が D2 に入るので、ルックアップ値は C2 である必要があると思います-このように

=INDEX($A$2:$B$6,MATCH($C2,$B$2:$B$6,0),1)

どのバージョンの Excel を使用していますか? Excel 2007 以降では、IFERROR を使用して必要なものを取得できます。つまり、D2 のこのバージョンをコピーします。

=IFERROR(INDEX($A$2:$B$6,MATCH($C2,$B$2:$B$6,0),1),$C2)

...または任意のバージョンで

=IF(ISNA(MATCH($C2,$B$2:$B$6,0)),$C2,INDEX($A$2:$B$6,MATCH($C2,$B$2:$B$6,0),1))

于 2012-09-10T20:46:33.273 に答える
1

Excel 2007 以降を使用している場合は、数式をIFERROR()関数でラップするだけです。

=IFERROR(INDEX(...),C2)
于 2012-09-10T20:44:20.817 に答える