我正在比较列A中的值和B列中的值,并期望在列C中得到输出。列A包含ID。每个ID可以有一个云组件,也可以没有云组件。一个全是云的应用程序应该有云的输出。一个不完全是云的应用程序应该有云的输出。具有云而不是云组件的应用程序是一个混合应用程序
我尝试了一个基本的excel公式,将A列中的值范围与B列中的值进行比较,但是在VBA中必须有更简单的方法。我对编码很陌生,但我不认为它需要像在数组中存储值那样复杂。
Sub CompareCells()
If Range("AA:AA").value = Range("AA:AA").value Then
'Not sure what to do here to evaluate after making sure the range is true
Else
'Not sure where to go next
End If
End Sub示例图片附呈。输出应该根据每个应用程序的配置值给出非云、混合或云的值。

发布于 2019-09-16 15:06:06
如果输入C2 (假设上面是在A和B中)并复制下来,这是可行的:
=IF(COUNTIFS(A:A,A2,B:B,"Cloud")=0,"Not Cloud",IF(COUNTIFS(A:A,A2,B:B,"Not Cloud")=0,"Cloud","Hybrid"))如果喜欢的话,可以采用R1C1风格:
=IF(COUNTIFS(C[-2],RC[-2],C[-1],"Cloud")=0,"Not Cloud",IF(COUNTIFS(C[-2],RC[-2],C[-1],"Not Cloud")=0,"Cloud","Hybrid"))因此,如果您希望为此创建一些自动化,您可以使用这样的方法:
With ActiveSheet
.Range("C2:C12").FormulaR1C1 = _
"=IF(COUNTIFS(C[-2],RC[-2],C[-1],""Cloud"")=0,""Not Cloud"",IF(COUNTIFS(C[-2],RC[-2],C[-1],""Not Cloud"")=0,""Cloud"",""Hybrid""))"
ActiveSheet.Calculate
.Range("C2:C12").Value = .Range("C2:C12").Value
End With发布于 2019-09-16 15:02:28
这个公式应该能起作用:
=IF(IF(COUNTIFS(A:A;A2;B:B;"Cloud")>0;1;0)+IF(COUNTIFS(A:A;A2;B:B;"Not Cloud")>0;1;0)=2;"Hybrid";IF(COUNTIFS(A:A;A2;B:B;"Cloud");"Cloud";"Not Cloud"))
https://stackoverflow.com/questions/57959320
复制相似问题