使用忽略false值子句的IF语句

我有一个由“是”和“否”组成的Excel数据清单。

我需要一个IF语句,只会对具有“是”值的单元格起作用,并跳过具有“否”值的单元格。

对于上下文来说,我的IF语句中的“如果为true的值”子句是一个indexmatchmatch,它需要根据“Yes”或“No”在表单中返回一个值。

我知道这可以有一个简单的解决scheme使用VBA,所以如果任何人有一个基于Excel的解决scheme或基于VBA的解决scheme,他们也同样有帮助。

如果需要,我可以将列和行添加到正在处理的数据集中。

尝试这个:

 Sub YesNo() Dim lRow As Long Dim sht As Worksheet Set sht = Worksheets("Tabelle1") lRow = sht.Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To lRow If sht.Cells(i, 1).Value = "True" Then 'Modify Column 'Your Code End If Next i End Sub 

使用VBA来实现它

假设在表中,你有

 A Yes B Yes C No A Yes B No C Yes A No B No 

运行macros之后,工作表2将只有那些在工作表1中有yes的行。 请根据您的要求修改代码

 Sub g() Dim lastRow As Long Dim sheet As Worksheet Set sht = Worksheets("Sheet1") Set sht1 = Worksheets("Sheet2") lRow = sht.Cells(Rows.Count, 1).End(xlUp).Row Dim j As Long j = 1 For i = 1 To lRow If sht.Cells(i, 2).Value = "Yes" Then sht1.Cells(j, 1).Value = sht.Cells(i, 1).Value j = j + 1 End If Next i End Sub