Excel 如果第一列的值与标准设置不同,则检查第二列的值是否与标准设置不同

Excel 如果第一列的值与标准设置不同,则检查第二列的值是否与标准设置不同,excel,excel-formula,Excel,Excel Formula,我有以下Excel电子表格: A B C 1 Currency FX-Rate 2 EUR 1.0 3 EUR 1.0 ---------------------------------------------------------- 4 USD 2.5 5 U

我有以下Excel电子表格:

          A                B               C
1     Currency          FX-Rate
2       EUR               1.0
3       EUR               1.0
----------------------------------------------------------
4       USD               2.5
5       USD               1.0
6       USD               1.0
----------------------------------------------------------
7       EUR               1.0
8       EUR               1.0
9       EUR               1.0
列A中,用户输入货币。在列B中自动选择1.0作为汇率。在标准设置中,欧元是基本货币

用户现在可以将列A中的货币更改为外币。在上述情况下,美元被视为外币

一旦用户将货币从EUR更改为USD,则应要求用户同时更改列B中的外汇汇率

为了确保用户输入正确,我希望在C1中有一个
检查单元格,当列a中用户定义了另一种货币但忘记将汇率从1.0更改为另一个值时,该单元格会自动显示“错误”。因此,我制定了以下公式:

   C1 = IF(SUM(B2:B10)=COUNTIF(A2:A10,">"&""""),"Error","O.K.")
但是,此公式仅在另一种货币中只有一行时有效。只要有另一行是外币(如我上面的例子),公式就会显示“OK”,而不是“Error”


你知道我必须在公式中修改什么才能使
检查单元格
工作吗?

单元格C1
中试试看

=IF((SUMPRODUCT((A2:A10<>"EUR")*(B2:B10=1)))+(SUMPRODUCT((A2:A10="EUR")*(B2:B10<>1)))>0,"Error","OK")
=IF((SUMPRODUCT((A2:A10“EUR”)*(B2:B10=1))+(SUMPRODUCT((A2:A10=“EUR”)*(B2:B101))>0,“错误”,“正常”)

请在
C
列中使用此公式

=IF(VLOOKUP(A1,$H$1:$I$2,2,FALSE)-B1<>0,"False","OK")
=IF(VLOOKUP(A1,$H$1:$I$2,2,FALSE)-B10,“FALSE”,“OK”)


您甚至可以将其简化一点,并在
B
列中使用
Vlookup
,这样用户就不需要手动输入货币了。

谢谢。完美的解决方案。嘿,Mrig,你对此也有想法吗: