您可以在没有 VBA 的情况下执行此操作,但需要对工作Data
表上的数据稍作更改。
我不建议在 Excel 中使用“数据透视表”或“小计”式的数据存储方式,在这种情况下,您只需在一个列中输入一次主键,然后填写旁边的关联数据,直到下一个主键。
就像合并的单元格一样,这只会在您以后想要重新组织数据时导致问题。
这是我所做的:
填写数据表上缺少的电子邮件地址
A2
将单元格一直突出显示到列BA
中数据的末尾。因此,如果您在单元格中有公司名称,但只有来自的电子邮件,您应该突出显示。这是因为我们在每行可用数据中填写了电子邮件地址。B2:B100
A2:A98
A2:A100
转到编辑»查找和选择»转到特殊,选择Blanks
并单击OK
。
现在选择空白,输入=
↑(向上箭头) ,然后按Ctrl+ Enter。A 列中的空白单元格将填写缺少的电子邮件地址。突出显示 A 列,复制并粘贴值。
为电子邮件创建动态命名范围
在Employee Database
工作表上,在“引用”框中使用以下公式创建一个名为“电子邮件”的命名范围:
=OFFSET('Employee Database'!$C$1,1,0,COUNTA('Employee Database'!$C:$C)-1,1)
添加条件格式
在Data
工作表上,突出显示A2:C whatever
(例如:)A2:C20000
,然后转到主页»样式»条件格式并使用以下公式:
=ISNA(MATCH($A2,Emails,0))
选择所需的配色方案并单击OK
。这是它在我的计算机上的外观以及一些示例数据:
有一些小的限制:
- 您不能再在工作表上将 A 列留空
Data
。
- 数据行之间的工作表上不能有空白行
Employee Database
。这是由于动态范围的工作方式。
好处
这种方法的好处是,IMO,巨大的。
- 您可以在员工数据库表中添加或删除行,突出显示将自动调整。例如:如果我添加 d@gmail.com 并删除 c@nbc.com,表格上的格式会
Data
立即更新。
- 您不必更改现有的工作表结构(除了填写缺失的数据并添加范围名称)。无需额外的工作表。
- 您的工作簿可以保持无 VBA(如果还没有的话)。