![基于另一个单元格和两列的数据验证](https://linux22.com/image/1620959/%E5%9F%BA%E4%BA%8E%E5%8F%A6%E4%B8%80%E4%B8%AA%E5%8D%95%E5%85%83%E6%A0%BC%E5%92%8C%E4%B8%A4%E5%88%97%E7%9A%84%E6%95%B0%E6%8D%AE%E9%AA%8C%E8%AF%81.png)
答案1
建议调整原始数据的布局,如下图所示。这样我们可以更方便地选择单元格来定义名称,从而影响下拉列表。
步骤1选择从 A1 到 A5 的单元格,转到公式 > 定义名称组 > 从选择创建。
第2步选择从 C1 到 F4 的单元格,按 Ctrl + G > 转到 > 特殊 > 常量 > 确定(清除空白)。按照步骤 1 中的相同方式定义名称。
当转到“定义名称”组中的“公式”>“名称管理器”时,我们将看到如下所示的名称。
步骤3选择“选择食物”下的某些单元格,转到数据>数据工具>数据验证,设置以下选项。
步骤4选择“选择颜色”下的某些单元格,转到数据 > 数据工具 > 数据验证。输入“=INDIRECT($H2)”作为来源。
然后我们就会得到“香蕉”的掉落列表。
答案2
您需要两步解决方案:
步骤1:
- 获取独特的水果名称列表。
单元格中的数组(CSE)公式
F93
:{=IFERROR(INDEX(F$83:F$91,MATCH(0,COUNTIF($F$92:F92,F$83:F$91),0)),"")}
在单元格中创建下拉列表
H83
,对于,。List
Source
=$F$93:$F$97
第2步:
单元格中的数组(CSE)公式
J83
,用于获取下拉菜单中选择的水果的颜色名称。{=IFERROR(INDEX($G$83:$G$91, SMALL(IF(COUNTIF($H$83, $F$83:$F$91), ROW($F$83:$G$91)-MIN(ROW($F$83:$G$91))+1), ROW(A1)), COLUMN(A1)),"")}
注意:
- 用以下两个数组公式完成Ctrl+Shift+Enter,并向下填充。
- 继续从下拉菜单中选择水果,以在列中获取相关颜色
J
。 - 根据需要调整公式中的单元格引用。
- 为了整洁,稍后您可以隐藏数据
F93:F97
。