比较excel中的单元格

比较excel中的单元格,excel,vba,Excel,Vba,我在一列中有如下数据 Value ----- A#show 20 20 B#show 20 25 30 C#show 10 10 10 10 D#show 10 E#show 10 20 我想比较最后一个字符串为“show”的单元格之间的值,如果只有一个,则不进行比较 Value Comparison ---------------------- A#show Same 20 20 B#show different 20 25

我在一列中有如下数据

Value
-----
A#show  
20
20
B#show  
20
25
30
C#show  
10
10
10
10
D#show  
10
E#show
10
20

我想比较最后一个字符串为“show”的单元格之间的值,如果只有一个,则不进行比较

Value       Comparison 
----------------------
A#show      Same
20  
20  
B#show      different
20  
25  
30  
C#show      same
10  
10  
10  
10  
D#show      only one
10  
E#show      different
10  
20  

我认为使用VBA脚本是可能的,因为您不清楚要在值之间比较什么。但是,有一种方法可以在没有VBA的情况下实现这一点

1) 在第二列中,创建一个“Header”列,其中命名每个值所属的头。第一个条目将只是一场演出,但接下来将是: =IFERROR(如果(A2*1>0,B1),B2)


2) 在第三列中,您可以利用countif查看标头是否有2个以上的条目(表示它有比较)。在这里,您可以应用任何您想要的比较指标。若它是非公式化的,只需使用一个包含3列的透视表

您肯定是对的-使用VBA是可能的。你试过什么了吗?你有问题吗?如果是这样,请发布您的代码并描述您的问题。如果不是的话,试试看——这不是一个“为我编写代码”的网站。比较自下而上运行的值将是最简单的方法。我曾尝试编写一个脚本,但它不起作用。请你帮我修改脚本好吗?请发布你的无效代码,我相信你会得到一些建议。我只是编写了下面的代码来比较2个单元格中的值,但不知道如何运行for循环来比较2个或多个单元格。Sub按钮3单击()如果(范围(“A3”)。值=范围(“A4”)。值)然后是范围(“B2”)。值=“相同”或范围(“B1”)。值=“不同”结束如果结束Sub我想比较最后一个字符串为“show”的单元格之间的值,如果只有一个,则不进行比较。这正是第二列和第三列所做的。如果计数为,则只有1个条目(因为标题计数),不需要进行比较。如果大于2,则可以执行任何要运行的比较代码,以使其与最后一个关键字show匹配,并将此值与单元格之间的值进行比较