Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 基于多个条件和文本颜色的Sumif_Excel_Vba_Worksheet Function - Fatal编程技术网

Excel 基于多个条件和文本颜色的Sumif

Excel 基于多个条件和文本颜色的Sumif,excel,vba,worksheet-function,Excel,Vba,Worksheet Function,我使用宏来总结特定债务人的价值。它目前运行良好,但我需要添加另一个标准 Range("DebtorList_Payed")=Application.SumIf(Range("InvoiceList_Table_ItmCode"), _ Range("Debtor_list_Debtors"), Range("InvoiceList_Price")) 我在发票列表工作表上有另一个范围,称为“范围”(“发票列表”\u Payed”),在这一行中有“现金”、“信用”、“自定义现金”和“自定义信用

我使用宏来总结特定债务人的价值。它目前运行良好,但我需要添加另一个标准

Range("DebtorList_Payed")=Application.SumIf(Range("InvoiceList_Table_ItmCode"), _
  Range("Debtor_list_Debtors"), Range("InvoiceList_Price"))
我在发票列表工作表上有另一个范围,称为“范围”(“发票列表”\u Payed”),在这一行中有“现金”、“信用”、“自定义现金”和“自定义信用”

“现金”和(自定义)现金行中的文本为绿色 “信用”和(自定义)信用”行中的文本为红色

使用现有宏,我需要它只对相应范围(“InvoiceList_Payed”)中文本颜色为绿色的行求和

比如说

Range("DebtorList_Payed")=Application.SumIf(Range("InvoiceList_Table_ItmCode"), _
  Range("Debtor_list_Debtors"), Range("InvoiceList_Price") = _  
  Range("InvoiceList_Payed")> "Green"))

如果您使用的是Excel 2007或更高版本,则可以使用SUMIFS函数,如果您使用的是早期版本,则可以嵌套SUM和If函数。真正的问题是无法从工作表函数中获取单元格的颜色。如果且仅当单元格上的格式设置为绿色为正,红色为负(反之亦然),则可以使用单元格(“颜色”,REF)功能

当然,使用标准VBA函数/属性(如RGB)很容易做到这一点

您也可以直接触发“现金”一词,因为这两个绿色行都有相同之处

例如:

SUMIFS(Range("InvoiceList_Payed"), Range("InvoiceList_Table_ItmCode"), _  
  Range("Debtor_list_Debtors"), Range("InvoiceList_Payed"), "*CASH*")

我使用的是Excel 2010,那么我该如何做到这一点呢?@James,这取决于我指的是你想要使用的方法。我将在一个示例中进行编辑,但我不能完全确定您提出的确切细节问题。请注意参数从SUMIF到SUMIFS的变化顺序。非常感谢Lance,我的几个宏的一个主要帮助是“现金”而不是“现金”,因此它的作用是包含而不是具体的,解决了这个问题,再次非常感谢,谢谢。