验证工作表的两列中的值,并在Excel的不同工作表的另一列中插入值

时间:2019-01-03 18:16:52

标签: excel excel-formula

我在工作表1中有一列,即列A,无论要插入此列的特定单元格中的值是多少,都应从工作表2的B列和C列中进行验证。工作表1的A列与工作表2的B列和C匹配,请接受工作表1的单元格中的值,否则会引发错误。

第2张纸

Column B  Column C
234        657
456        378
678        451

第1张:

Column A

678 - this should be allowed but when i should insert
123 - this should throw an error as this value is not present in either column of Sheet 2.

我尝试使用范围名称根据值源在另一张表中创建下拉列表,然后使用“数据验证”对话框并从“允许”下拉列表中选择“列表”,但这仅适用于一个列值,不适用于B和C列中都存在该值。

对如何在公式中进行此验证的任何人

提前谢谢!

3 个答案:

答案 0 :(得分:0)

也许尝试在数据验证中使用COUNTIF。

假设您的值已插入到单元格B1:C3中,请单击单元格A1>数据>数据验证>允许:自定义>公式:= COUNTIF($ B $ 1:$ C $ 3,$ A1)> 0

应用此验证后,在单元格A1中输入值1(应该返回错误),而应该接受657。现在,您可以将此验证复制并粘贴到A列的其他单元格中。

希望有帮助!

答案 1 :(得分:0)

已使用公式COUNTIF(Sheet2!A:B,A2)> 0解决了此问题,其中工作表2指的是必须从中验证值的工作表,而A:B是其中两个列的范围提到了哪个值,而A2是您要进行验证的单元格

谢谢。

答案 2 :(得分:0)

这是您第二个问题的答案:

我想在此公式中使用Concatenate。例如,我想将当前工作表中两列的值连接起来,然后将结果与另一工作表中两列值的连接进行比较。例如-应将当前工作表中W和X列中输入的值与另一工作表的Y列和Z列中的现有值进行比较。我尝试使用公式COUNTIF(Sheet2!CONCAT($ W $ 2,$ X $ 2:$ Y $ 2,$ Z $ 2),A2)> 0和一些不同的修改但没有运气。

假设我们有两张纸。

Sheet1 -> W&X列->我们将在此处输入数据并创建数据验证。

Sheet2 -> Y&Z列->包含我们要验证其输入的值。在我的示例中,我使用以下值填充单元格Y1:Z3:

Sheet2

现在,回到 Sheet1 ,我们的目标是能够检查W&X列的组合,以验证是否应接受输入。例如:

Sheet1

要实现这一点,您需要单击Sheet1单元格X1,转到“数据验证”>“自定义”>输入以下公式:

=SUMPRODUCT(--ISNUMBER(MATCH(W1&X1,Sheet2!$Y$1:$Y$3&Sheet2!$Z$1:$Z$3,0)))

该公式会将您在单元格X1中输入的内容与单元格W1的值合并,并检查Sheet2的单元格Y1:Z3中是否已经存在这种组合。

希望有帮助。