我正在比较列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
复制相似问题