Excel countIf +连接函数

我有一个简单的计数,如果一个Excel公式。 但是,我想添加一个条件,如果满足会改变单元格的填充颜色。 示例:在Sheet 1单元格A1中,我有“XXX”。 在Sheet 1单元格A2中,我有一个布尔值“True”。 在Sheet 2单元格B1中,我有

=COUNTIF(A1,"*XXX*") 

我想要做的是说,如果在工作表1格A1我有XXX和工作表1单元格A2是“真”,然后在工作表2单元格B1我应该有一个红色单元格内显示“1”

颜色编码的一种替代方式是说,如果工作表1的单元格A2具有“真”的布尔值,并且工作表1的单元格A1具有XXX,则在工作表2的单元格B1上显示“1R”。

任何帮助表示赞赏

如果你想用VBA来做,这段代码将做你想做的事情:

 Option Explicit Sub test() Dim wb As Workbook Dim ws1 As Worksheet, ws2 As Worksheet Dim Lastrow As Long Dim i As Long Set wb = ThisWorkbook Set ws1 = wb.Sheets("Sheet1") 'Change the name of your sheet Set ws2 = wb.Sheets("Sheet2") 'Change the name of your sheet Lastrow = ws1.Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To Lastrow Step 2 If ws1.Cells(i, "A") = "SEC" And ws1.Cells(i + 1, "A") = True Then ws2.Cells(i, "B") = 1 ws2.Cells(i, "B").Interior.Color = RGB(255, 0, 0) ' ws2.Cells(i, "B") = "1R" ' Alternate to the color coding End If Next i End Sub 

编辑:

代码基于下面的commnents

 Option Explicit Sub test() Dim wb As Workbook Dim ws1 As Worksheet, ws2 As Worksheet Dim Lastrow As Long Dim i As Long, c As Long Set wb = ThisWorkbook Set ws1 = wb.Sheets("Sheet1") 'Change the name of your sheet Set ws2 = wb.Sheets("Sheet2") 'Change the name of your sheet i = 3 For c = 7 To 25 If ws2.Cells(i, "K") > 0 And ws2.Cells(i, "L") = False Then ws1.Cells(3, c).Interior.Color = RGB(255, 0, 0) ElseIf ws2.Cells(i, "K") > 0 And ws2.Cells(i, "L") = True Then ws1.Cells(3, c).Interior.Color = RGB(0, 255, 0) End If i = i + 2 Next c End Sub 

我觉得最简单的方法是使用条件格式 ,你可以在开始>样式中find它。

  1. select需要更改颜色的单元格
  2. 添加一个新的规则
  3. 使其依赖于公式
  4. 使用公式=(Sheet1!A2=TRUE)
  5. 格式化下面的示例单元格以符合您的要求
  6. 为每个你想要的颜色添加一个新的规则(例如,你最好是绿色的FALSE项目,例如)

或者你可以说: =if(and(a1="sec",a2="true"),1,"False Text")这将只返回1,或者你可以修改为“1R”,如果a1和A2返回你放入的语句和语句。