我想比较excel电子表格中的三个单独的列,跨越数千行。
如果任何值多次出现在A列中(比如A列第1行和第4行中的单词hello,以及A列和第3行和第5行中的单词bye,我想检查B列中的相应值)对于那些行(即行1和4以及3和5)。
如果第1行和第4行的B列中的值为15& 4。在图15中,行3和5的值是20& 5。 20,然后我想检查C列。
现在我们知道第1行和第4行以及第3行和第5行在A列和A列中具有相同的对应值。 B,我想检查C列中的相应值。如果这些不同,那么我想进行具体的计算。如果它们在C列中是相同的值,那么我想忽略这些行。
我很抱歉这是非常不清楚的,因为我无法粘贴图像来显示我的意思。如果它有帮助,我可以给你发一个例子。
这超出了我和我的excel技能,我不知道从哪里开始。任何帮助,将不胜感激。我希望我不需要写宏。
提前致谢!
答案 0 :(得分:0)
所以,按照我的理解重新阐述你的问题:
A列包含字符串值(文本)。这里有一些重复。
B列保存数字值。当A列中出现重复时,B列中的数据可能与其他重复条目相同或不同。
C列保存值(您没有定义什么类型的值,但我认为这些是数值)。有时,A列中的重复项在B列中保持相同的值,在C列中也保持相同的值。在这种情况下,我们可以忽略该行,因为所有重复项都是一致的。有时,A列中的重复项在B列中保存不同的值。在这种情况下,我们也可以忽略这些值。最后,有时列A中的重复项在列B中保持相同的值,但在列C中保持不同的值。对于这些特定值,我们要执行其他类型的计算(您未指定)。
将以下内容放在D列中,从第2行开始(假设第1行有标题),这是我们将构建的公式的起点。
=IFERROR(VLOOKUP(A$1:B1,A2,2,0)=B2,"")
这样说:查看A列,始终从第1行开始,直到当前行上方的1行。检查当前行中文本的匹配项。如果在那里找到匹配项,则从列B中提取结果。该结果是否与当前行中的列B匹配?如果匹配,则表示为TRUE;如果它不匹配则会说FALSE。如果A栏中没有重复,则会说“”。
现在添加一个新的检查 - 如果上面的公式为TRUE [即:A列中有重复,B列中的结果匹配],那么我们要检查C列的结果:
=IFERROR(IF(VLOOKUP(A$1:B1,A2,2,0)=B2,VLOOKUP(A$1:C1,A2,3,0)=C2,""),"")
如果列C中的值与列A中的副本匹配,则此现在将返回TRUE(仅在列B中的值匹配时才检查)。最后,添加您的“特殊计算”,如下:
=IFERROR(IF(VLOOKUP(A$1:B1,A2,2,0)=B2,IF(VLOOKUP(A$1:C1,A2,3,0)=C2,"",C2+1),""),"")
如果我有C2 + 1,您可以在此处执行特殊计算。这只会在以下情况下由Excel记录:A列中有副本,该副本在B列中具有匹配值,并且该副本在C列中具有不匹配的值。