0

我有一张这样的桌子:

公司 部门
可乐 可乐人力资源
可乐 可乐销售
火星 火星人力资源
火星 火星销售

目前,我正在使用动态命名范围公式在单元格下拉列表中生成。公式是:

=OFFSET(References!$A$2,0,0,COUNTA(References!$A:$A)-1)

=OFFSET(References!$B$2,0,0,COUNTA(References!$B:$B)-1)

但理想情况下,如果在第一个单元格中选择了可口可乐,那么第二个单元格应该只为第二个单元格中的可乐提供 HR 和 Sales。我想我可能需要在现有的偏移函数中添加一个 xlookup 函数来实现这一点,但我真的不确定。有人可以指出我正确的方向吗?

4

1 回答 1

0

功能性

选择左侧的可乐会在右侧显示可乐选项

同样,火星左显示适当的选项右

但是等等,还有更多!

空白单元右,剩下适当的选项

可乐选项右,合适的选项[在这种情况下只有一个,可乐]在左边

同样,火星选项右侧显示适当的火星选项左侧

添加的功能可以很容易地删除:虽然列表在关联元素的上下文中相互依赖,但它们的功能是完全“模块化”和独立的......

Excel 截图

随后的材料应与此屏幕截图中的表格/单元格等相关:

主屏幕截图 - 随后的 eqns。 等应参考此

OneDrive 链接到 Excel 电子表格:此处

**重新创建的步骤/ fns **

  1. 根据上述创建第二个查找表
  • 颜色编码表示功能文本对应的单元格,例如G10功能要输入G5,H10适用于H5等。
  • 建议以与我在此阶段完全相同的方式设置电子表格(或只需下载上面的链接,您的电话)*

可乐/玛氏初选

=IFERROR(FORMULATEXT(Range_beverage),"")

可口可乐人力资源/销售选项

=TRANSPOSE(FILTER(R6C4:R9C4,R6C3:R9C3=RC[-1]))
  1. 打开名称管理器 - 您将创建以下命名范围:
  • 在执行此操作之前,请转到:Alt+ T + O(文件,选项)、公式和 Alt+R(即选择 R1C!单元格引用,因为这会派上用场,您可以稍后将其更改回来)*
姓名 公式
Range_primary1 =IF(MID(RC[1],1,SEARCH(" ",RC[1])-1)="Coke",R5C7,R6C7)
Range_beverage =R5C7:R6C7
Range_primary =IF(RC[1]<>"",Range_primary_1, Range_beverage)
SubRange_Mars =R6C8:R6C9
SubRange_Coke =R5C8:R5C9
子范围 =IF(R5C[-1]="Mars",SubRange_Mars,SubRange_Coke)
  • 您可以包含更强大的方法,以便稍后动态引用这些单元格作为 req.

  • 验证列表注意事项:不能使用引用范围的函数;不能将命名范围与此类函数一起使用(已删除 1 个),但“已删除 2 个”有效(即,引用具有函数的另一个范围的引用命名范围)

  1. 插入两个直接相邻的验证列表(上面主电子表格屏幕截图中的黄色阴影单元格),如下所示:

a)Alt + d + L(或者你用鼠标做的) - 删除下面每个屏幕截图的输入消息错误警报选项:

数据验证输入和错误警报选项

指定验证列表源

而不是我们一直在等待的那一刻......

左右验证列表函数

即来源如下:

左侧列表(即可乐/火星):

=Range_primaray

正确列表(可口可乐/玛氏的人力资源/销售)

=SubRange

另一个有趣的 Microsoft/Office 小“错误”,我需要与 Bill 讨论一下:完成上述最后一步后打开验证列表对话浏览器,然后仔细检查输入错误/警报消息选项是否仍被禁用。我知道他们会恶作剧地恢复(除非它允许您取消选择,即使它只会在验证对话框选项卡式菜单窗口的餐厅部分发生更改后才存储您的选择...

无论如何,走好,去壳。- 希望这对你有用!:)

于 2021-06-16T06:51:18.640 回答