多个单元格检查没有 VBA?
Multiple Cells Check Without VBA?
所以,我在这里需要解释的是我在同一个工作簿上的两个 sheet,Sheet 示例:
我需要为每个单元格创建一个公式来检查 Sheet A "Num_Doc_Ini" 和 "Num_Doc_Fin" 与 Sheet B "CHV_CTE_REF ", 将 Sheet B 上的 "VL_DOC" 个数字相加后计算总和,最后将结果与 Sheet A 进行比较后用"正确"或"不正确"进行检查 "VL_DOC".
例如,Sheet A 的第二行。我需要检查 NUM_DOC_INI 和 FIN,所以“101 - 102”检查 [=45= 上的那些数字] B “CHV_CTE_REF”,将“VL_DOC”相加,所以在这个例子中 4,159.86 + 4,585.1 等于 = 8,744.96,然后将其与 [=45= 上的“VL_DOC”匹配] A 在这种情况下显示文本“正确”,如果不匹配则显示“不正确”。
有些行几乎没有文档可以访问,例如“106 - 108”,但有些行有 10 个或更多的文档需要阅读和总结这些值,因此我真的很伤心地试图想出东西。
这可能吗?我可以想到一些使用 VBA 的方法,但我正在尝试使用 Cells Formula 来完成这一切,因此我有点迷路,任何帮助将不胜感激!
编辑:
我正在使用 excel 2016 atm。
所以这是工作簿的文件:https://mega.nz/file/LgVCBbjT#xJnf2HbHd6wdRSNPY7wXSssKv2jZ1-pMsOuKcePlulQ
以及颜色说明:
我需要在红色单元格上使用一个公式来检查 sheet 1 上蓝色单元格的数量,在 Sheet 2(蓝色单元格)上找到它们,将 VL_DOC(绿色单元格)相加在 sheet 2 上,并根据 Sheet 1 橙色单元格 (VL_DOC) 上的值检查它们,然后根据值的匹配打印出正确或不正确。
据我在 link 中看到的内容,如果您拥有最新版本的 excel,则可以使用类似下面的内容(其中行范围和列引用留给您的具体情况因为我们看不到它们):
=IF(SUM(FILTER(SheetB!$VL_DOC,
(SheetB!$CHV_CTE_REF=SheetA!J2)+(SheetB!$CHV_CTE_REF=SheetA!I2)+...))=N2,
"Correct", "Incorrect")
然后在 FILTER
函数中添加您需要的许多其他条件。例如:
要求编辑:如果您没有最新版本的 excel,您可以重复使用 VLOOKUP
或 INDEX/MATCH
,但需要多次。例如:
=IF(SUM(
VLOOKUP($I2, SheetB!$CHV_CTE_REF, 2,),
VLOOKUP($J2, SheetB!$CHV_CTE_REF, 2,),
...)=$N2,
"Correct", "Incorrect")
求和、间接、地址、匹配
注意 INDIRECT
是一个 volatile
函数。
在示例工作簿Sheet 1
的单元格K2
中,您可以使用以下公式:
=IFERROR(IF(SUM(INDIRECT(ADDRESS(MATCH(H2,Tabela1[NUM_DOC],0)+1,COLUMN(Tabela1[VL_DOC]),1,1,"Sheet 2")&":"&ADDRESS(MATCH(I2,Tabela1[NUM_DOC],0)+1,COLUMN(Tabela1[VL_DOC]),1,1),TRUE))=J2,"Correct","Incorrect"),"")
所以,我在这里需要解释的是我在同一个工作簿上的两个 sheet,Sheet 示例:
我需要为每个单元格创建一个公式来检查 Sheet A "Num_Doc_Ini" 和 "Num_Doc_Fin" 与 Sheet B "CHV_CTE_REF ", 将 Sheet B 上的 "VL_DOC" 个数字相加后计算总和,最后将结果与 Sheet A 进行比较后用"正确"或"不正确"进行检查 "VL_DOC".
例如,Sheet A 的第二行。我需要检查 NUM_DOC_INI 和 FIN,所以“101 - 102”检查 [=45= 上的那些数字] B “CHV_CTE_REF”,将“VL_DOC”相加,所以在这个例子中 4,159.86 + 4,585.1 等于 = 8,744.96,然后将其与 [=45= 上的“VL_DOC”匹配] A 在这种情况下显示文本“正确”,如果不匹配则显示“不正确”。
有些行几乎没有文档可以访问,例如“106 - 108”,但有些行有 10 个或更多的文档需要阅读和总结这些值,因此我真的很伤心地试图想出东西。
这可能吗?我可以想到一些使用 VBA 的方法,但我正在尝试使用 Cells Formula 来完成这一切,因此我有点迷路,任何帮助将不胜感激!
编辑: 我正在使用 excel 2016 atm。 所以这是工作簿的文件:https://mega.nz/file/LgVCBbjT#xJnf2HbHd6wdRSNPY7wXSssKv2jZ1-pMsOuKcePlulQ
以及颜色说明: 我需要在红色单元格上使用一个公式来检查 sheet 1 上蓝色单元格的数量,在 Sheet 2(蓝色单元格)上找到它们,将 VL_DOC(绿色单元格)相加在 sheet 2 上,并根据 Sheet 1 橙色单元格 (VL_DOC) 上的值检查它们,然后根据值的匹配打印出正确或不正确。
据我在 link 中看到的内容,如果您拥有最新版本的 excel,则可以使用类似下面的内容(其中行范围和列引用留给您的具体情况因为我们看不到它们):
=IF(SUM(FILTER(SheetB!$VL_DOC,
(SheetB!$CHV_CTE_REF=SheetA!J2)+(SheetB!$CHV_CTE_REF=SheetA!I2)+...))=N2,
"Correct", "Incorrect")
然后在 FILTER
函数中添加您需要的许多其他条件。例如:
要求编辑:如果您没有最新版本的 excel,您可以重复使用 VLOOKUP
或 INDEX/MATCH
,但需要多次。例如:
=IF(SUM(
VLOOKUP($I2, SheetB!$CHV_CTE_REF, 2,),
VLOOKUP($J2, SheetB!$CHV_CTE_REF, 2,),
...)=$N2,
"Correct", "Incorrect")
求和、间接、地址、匹配
注意
INDIRECT
是一个volatile
函数。在示例工作簿
Sheet 1
的单元格K2
中,您可以使用以下公式:
=IFERROR(IF(SUM(INDIRECT(ADDRESS(MATCH(H2,Tabela1[NUM_DOC],0)+1,COLUMN(Tabela1[VL_DOC]),1,1,"Sheet 2")&":"&ADDRESS(MATCH(I2,Tabela1[NUM_DOC],0)+1,COLUMN(Tabela1[VL_DOC]),1,1),TRUE))=J2,"Correct","Incorrect"),"")