我有以下工作表 Data :
在同一个工作簿中,我有另一个名为 Employee Database 的工作表 .
在Excel中,如果"Employee E-mail Address"不在 Employee Database 中,如何从 Data 工作表中为"Employee E-mail Address"和相应的"Company"和"Company URL"单元格着色?
换句话说,我试图让 Employee Database 工作表看起来像这样:
我刚刚给出了一个例子,实际上我有超过10,000个单元格的数据来做到这一点 . 我手动开始这样做,意识到它将永远带我 .
我想知道是否有一个宏可以在Excel中执行此操作?
帮助将非常感谢!我在上面可以下载截图的示例工作簿:http://www.mediafire.com/?dttztp66dvjkzn8
2 回答
这是你在尝试什么?这将创建一个带有输出的新工作表“Desired Result” . 将其粘贴到模块中 .
您可以在没有VBA的情况下执行此操作,但需要对
Data
表上的数据进行轻微更改 .我不建议在Excel中使用"Pivot Table"或"Subtotal"样式的数据存储,只需在一列中输入一次主键,然后在其旁边填充相关数据,直到下一个主键 .
与合并单元格一样,只有在您想要重新组织数据时才会出现问题 .
这是我做的:
在数据表中填写缺少的电子邮件地址
将单元格
A2
一直向下突出显示A
列到 B 列中数据的末尾 . 因此,如果您在单元格B2:B100
中有公司名称,但只有来自A2:A98
的电子邮件,则应突出显示A2:A100
. 这是因为我们在每行可用数据中填写电子邮件地址 .转到 Editing » Find & Select » Go To Special ,选择
Blanks
并单击OK
.现在选择了空白,键入
=
↑(向上箭头),然后按Ctrl Enter . A列中的空白单元格将填入缺少的电子邮件地址 . 突出显示A列,复制和粘贴值 .为电子邮件创建动态命名范围
在
Employee Database
工作表上,使用"Refers to"框中的以下公式创建名为"Emails"的命名范围:=OFFSET('Employee Database'!$C$1,1,0,COUNTA('Employee Database'!$C:$C)-1,1)
添加条件格式
在
Data
表上,突出显示A2:C whatever
(例如:A2:C20000
),然后转到 Home » Styles » Conditional Formatting 并使用以下公式:=ISNA(MATCH($A2,Emails,0))
选择所需的颜色方案,然后单击
OK
. 以下是我在计算机上查看一些示例数据的方式:有一些小的限制:
您不能再将列A留空
Data
表 .在数据行之间
Employee Database
表上不能有空行 . 这是由于动态范围的工作方式 .好处
IMO这种方法的好处是巨大的 .
Data
表格上的格式会立即更新 .您不必更改现有的工作表结构(填写缺失的数据和添加范围名称除外) . 无需额外的工作表 .
您的工作簿可以保持VBA免费(如果它还没有) .