Excel 中的动态数据验证

Excel 中的动态数据验证

在我的第一张表上,我有所有的选项:

A        B
=============
yellow   DOG

Green    DOG

PINK     DOG

YELLOW   CAT

Pink     CAT

black    BIRD

RED      BIRD

在我的下一张工作表中我想要:

Animal     Choice of color
===========================================================
DOG        Data drop down box listing YELLOW Green and Pink

CAT        Data drop down box listing YELLOW and Pink

BIRD       Data drop down box listing black and RED

这部分通过数据验证很容易。如果数据是静态的并且永远不会改变,我可以为每个选项创建一个源范围并获取它。问题是我不知道会有多少动物或动物选项的顺序或数量。

有没有办法让我的第二张工作表仅显示来自工作表 1 的 A 列的不同值以及来自工作表 1 的 B 列的不同值,其中工作表 2 的 A 列 = 工作表 1 的 A 列?

如果我拥有 Sheet 1:

dog   red

cat   blue

dog   red

fish  purple

dog   yellow

cat   yellow

fish  green

第 2 页将是:

A     B
==============================
dog   drop down: red, yellow
cat   drop down: blue, yellow
fish  drop down: purple, green 

请注意,只有与动物相匹配的颜色才会显示为选项。

答案1

我的解决方案是创建仅显示有效选择的第三列。

工作表1

     A       B                C
1  yellow   DOG   =IF(Sheet2!$B$1=B1,A1,"")
2  Green    DOG   =IF(Sheet2!$B$1=B2,A2,"")
3  PINK     DOG   =IF(Sheet2!$B$1=B3,A3,"")
4  YELLOW   CAT   =IF(Sheet2!$B$1=B4,A4,"")
5  Pink     CAT   =IF(Sheet2!$B$1=B5,A5,"")
6  black    BIRD  =IF(Sheet2!$B$1=B6,A6,"")
7  RED      BIRD  =IF(Sheet2!$B$1=B7,A7,"")

工作表2

     A       B
1  Animal?  CAT
2  Colour?  ...

您可以...用从 中获取的数据验证列表进行替换Sheet1!B1:B7。它将包含空选项,但这是我最接近您所追求的。

如果要使公式更简洁,请将单元格命名Sheet2!B1Animal并在公式中使用该术语,例如=IF(Animal=B1,A1,"")。这样会使公式更易于阅读。

答案2

@Andy,请看下文。我取出了你的第二组数据(你在操作中有两组不同的数据),该数据没有排序,并将其排序在 G 和 H 列的一侧的单独副本中。

接下来我删除了重复项(“dog, red” 重复了)。

然后我创建了命名范围“AnimalsSorted”,如下图所示:

在此处输入图片描述

接下来,在 Sheet2 上,我可以为 B 列中的每个单元格创建数据验证。每个单元格的数据验证源是一个“列表”,为清楚起见,在 D 列中显示了公式:

在此处输入图片描述

看来这对你有用;祝你狩猎愉快!

相关内容