Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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 如何比较两张地图_Excel_If Statement_Excel Formula_Comparison_Vba - Fatal编程技术网

Excel 如何比较两张地图

Excel 如何比较两张地图,excel,if-statement,excel-formula,comparison,vba,Excel,If Statement,Excel Formula,Comparison,Vba,我的工作簿中有一些地图,我想知道是否有办法比较两个地图中相同位置的特定字符 例如,我在第1页上有一张这样的地图: A B C D E F G H I J 1: @ @ @ @ @ @ Z @ @ @ 2: @ @ Z @ @ @ @ @ @ @ 3: @ @ @ @ @ @ Z @ Z @ 4: @ @ @ @ Z @ @

我的工作簿中有一些地图,我想知道是否有办法比较两个地图中相同位置的特定字符

例如,我在第1页上有一张这样的地图:

   A   B   C   D   E   F   G   H   I   J 
1: @   @   @   @   @   @   Z   @   @   @
2: @   @   Z   @   @   @   @   @   @   @
3: @   @   @   @   @   @   Z   @   Z   @
4: @   @   @   @   Z   @   @   @   @   @
5: @   Z   @   @   @   @   @   @   @   @
6: @   @   @   @   @   @   @   Z   Z   @
7: @   Z   @   @   @   @   @   @   @   @
8: @   @   @   @   @   @   Z   @   @   @
9: Z   @   @   @   Z   @   @   @   @   @
第2页上的另一张地图如下所示:

   A   B   C   D   E   F   G   H   I   J 
1: @   @   @   @   @   @   Z   @   @   @
2: @   @   Z   @   @   @   @   @   @   @
3: z   @   @   @   @   @   Z   @   Z   @
4: @   @   @   @   @   @   @   @   @   @
5: @   @   @   @   @   @   @   @   @   @
6: @   @   @   @   @   @   @   Z   Z   @
7: @   Z   @   @   @   @   @   @   @   @
8: @   @   @   @   @   @   @   @   @   @
9: Z   @   @   @   Z   @   @   @   @   z
字符
z
将是我希望比较的字符,无论是否位于同一列或同一行


当我比较两张地图时,是否有可能不需要逐一检查?

如果我理解,类似于:

=Sheet1!A1=A1  
在表2的L1中,复制到U1,然后复制到L9的L1:U1应表明存在差异的地方


OP目前选择的解决方案(见注释)并非上述解决方案,尽管是上述解决方案的一个变体:

=IF(A1="z",Sheet1!A1=A1,"")  
这准确地确定了表2中哪些单元格被
z
z
占据,对于相同的位置,这些单元格没有被表1中的
z
z
占据(即A3和J9)

在本例中,这正好确定了所有差异,因为Sheet2实际上是Sheet1的副本,但Sheet2中的两个
z
s替换了Sheet1中的两个
@
s

这可能是OP想要的,但不包括例如E4单元不同的标识。如果对“在表1中存在而在表2中不存在”感兴趣,可以通过重复表1中的上述公式(将表1更改为表2)来解决:

检测E4、B5和G8中的差异,或者,如果只是在一张纸中显示(如图2),则显示稍微复杂的公式,例如:

=IF(AND(A1="z",Sheet1!A1="z"),"-",IF(AND(A1="z",Sheet1!A1<>"z"),2,IF(AND(A1<>"z",Sheet1!A1="z"),1,"")))  
=IF(和(A1=“z”,Sheet1!A1=“z”),“-”,IF(和(A1=“z”,Sheet1!A1“z”),2,IF(和(A1“z”,Sheet1!A1=“z”),1“))
对于此类结果:

其中:

空白=两张纸上该位置无
z
z
连字符=
z
z
在两张纸上的该位置
1
=
z
z
在第1页而不是第2页

2
=
z
z
在第2页上而不是在第1页上应该可以工作。OP想要一些不需要检查所有单元格的东西。可以使用范围
。在每个映射中查找
方法,然后比较每个映射的
。地址
。。。但这似乎容易得多,除非是他经常做的事情,否则我会坚持这个公式。我最初读它只是为了寻找一个小写的“z”,但现在我再看一遍,第一个表中没有这样的字符,我认为它要求你描述更多的内容。你的解决方案就是我要用的。嗨,我展示的地图只有几个字符,实际上我有很多字符,有没有可能我只是想比较一下z与另一个图形的位置相同?嗨,伙计们,我想我找到了我的解决方案,我已经修改了我的公式,变成=如果(A1=“z”,Sheet1!A1=A1,”),案例重要吗?也就是说,您是否只关心小写的“z”,正如您所指出的“字符z将是一个…”,或者这是问题中的打字错误(在表格中,有些是小写的,有些是大写的)?@DavidZemens不区分大小写。@pnuts是的,您是对的。我想知道第1页中的位置“z”与第2页中的位置“z”是否相同。@pnuts我的意思是字符“z”不区分大小写。…lol
=IF(AND(A1="z",Sheet1!A1="z"),"-",IF(AND(A1="z",Sheet1!A1<>"z"),2,IF(AND(A1<>"z",Sheet1!A1="z"),1,"")))