我在excel中有一个包含“是”和“否”的数据列表。
我需要一个IF语句,它只对具有“Yes”值的单元格起作用,并跳过任何具有“No”值的单元格。
对于上下文,我的IF语句的'value if true'子句是一个indexmatchmatch,它需要根据“是”或“否”返回表单中的值。
据我所知,这可能是一个使用VBA的简单解决方案,因此,如果任何人拥有基于Excel的解决方案或基于VBA的解决方案,他们将同样有所帮助。
如果需要,我可以将列和行添加到我正在使用的数据集中。
答案 0 :(得分:1)
试试这个:
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
答案 1 :(得分:1)
使用VBA实现它
假设在表格中,你有
A Yes
B Yes
C No
A Yes
B No
C Yes
A No
B No
运行宏后,Sheet 2将只包含Sheet1中具有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