在另一个工作表的行中查找一个值,并在当前工作表上的匹配行和列标题中放置一个值(如果存在),如果不存在则为0

时间:2017-04-21 20:59:55

标签: excel excel-vba vba

所以我在如何做到这一点时遇到了一些麻烦。我有一张在一张纸上看起来像这样的表

ID    Answer1    Answer2    Answer3   Answer4
1     Apples     Oranges    Bananas   Grapes
2     Bananas    Grapes
3     Apples 
4     Oranges    Bananas

然后我在另一张表上有另一张看起来像这样的表

ID   Apples    Oranges   Bananas   Grapes
1
2
3
4

我想要做的是在每列中为每个选择的答案添加1,如果他们没有选择,则为0。所以结果如下:

ID   Apples   Oranges   Bananas   Grapes 
1      1        1         1         1
2      0        0         1         1
3      1        0         0         0
4      0        1         1         0

我不确定我会用什么来实现这一目标但如果有人能指导我朝着正确的方向前进,我将非常感激

3 个答案:

答案 0 :(得分:1)

使用这样的公式:

=COUNTIF(INDEX(Sheet1!$B$2:$E$5,MATCH($H2,Sheet1!$A$2:$A$5,0),0),I$1)

这要求ID在查找表中是唯一的,否则它只会带来匹配的第一个ID。

enter image description here

答案 1 :(得分:0)

你应该可以用一些简单的if逻辑来做到这一点。

=if('other sheet'!b2="Apples",1,0)

将该公式复制到表格的其余部分,你应该好好去。

答案 2 :(得分:0)

试试吧。您可以将其复制到工作表2的每个单元格。

=IF(COUNTIF('Sheet1'!$A2:$D2;A$1)<>0;1;0)