Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Vlookup包含另一个单元的一部分但不是那么简单的单元_Excel_If Statement_Indexing_Match_Vlookup - Fatal编程技术网

Excel Vlookup包含另一个单元的一部分但不是那么简单的单元

Excel Vlookup包含另一个单元的一部分但不是那么简单的单元,excel,if-statement,indexing,match,vlookup,Excel,If Statement,Indexing,Match,Vlookup,大家好,所有的Excel专家们,我被这个我无法解决的Excel问题困住了。我试着使用Index,Match,Vlookup,但是没有用 基本上,我试着从B列获取D列的值,如果C列的值包含A列中的部分值 所以我要处理的是这样的事情: 修复了表格显示 +------------------------------------------------------+ | Header Column A Column B Column C Column D | +-----------

大家好,所有的Excel专家们,我被这个我无法解决的Excel问题困住了。我试着使用Index,Match,Vlookup,但是没有用

基本上,我试着从B列获取D列的值,如果C列的值包含A列中的部分值

所以我要处理的是这样的事情: 修复了表格显示

+------------------------------------------------------+
| Header     Column A   Column B   Column C  Column D  |
+------------------------------------------------------+
| Row 1      111        AAA        1111                |
| Row 2      222        BBB        112                 |
| Row 3      333        CCC        2225                |
| Row 4      444        DDD        333                 |
+------------------------------------------------------+
因此,我的预期结果是:

+------------------------------------------------------+
| Header     Column A   Column B   Column C  Column D  |
+------------------------------------------------------+
| Row 1      111        AAA        1111      AAA       |
| Row 2      222        BBB        112       N/A       |
| Row 3      333        CCC        2225      BBB       |
| Row 4      444        DDD        333       CCC       |
+------------------------------------------------------+
很抱歉,表格显示和解释不好。谢谢各位

=INDEX($C$2:$C$5, MATCH(1,IF(ISERR(FIND($B$2:$B$5, $D2)),0,1),0))
,其中
5
是最后一个数据行。在
E2
中输入(Ctrl+Shift+Enter),然后向下拖动


顺便说一句,第4行给出的是
CCC
,而不是
N/A

您好,谢谢您提供的公式,但它似乎对我不起作用。我将公式作为数组公式放在E2上,但excel只给出了#N/A作为答案。我想知道为什么D2会包含在公式中@Soren Holten Hansen感谢您修复我的表bro。@user3506172我以为您的数据从
B2
开始,
1行
A2
中的实际数据。如果数据实际上从
A1
开始,则将公式中的所有内容上移并左移一个单元格,然后将其放入
D1
<代码>=索引($B$1:$B$4,匹配(1,如果(ISERR(查找($A$1:$A$4,$C1)),0,1),0))非常棒的解决方案GSreg,非常感谢您的帮助。祝你有一个愉快的一天。顺便说一句,如果你不介意解释公式给我。为什么我们在比赛后放1,IF和ISER以及Find会做什么?我最初认为索引和匹配可以单独用于解决上述问题。
FIND($B$2:$B$5,$D2)
创建一个数组,在
$B$2:$B$5
中为每个单元格创建一个项目,该数组包含
D2
中相应文本的位置,如果未找到文本,则会出现错误
IF(ISER(该数组,0,1))
将该数组转换为
0
s和
1
s的数组,其中
0
表示未找到,而
1
表示已找到<代码>匹配(1,转换数组,0)查找该数组中第一个值为
1
(“已找到”)的项的位置。