基于行ID的特定列标题的行数据

时间:2018-01-31 02:44:51

标签: excel vba excel-vba function lookup

我有一个包含几百个员工数据的工作表。在最基本的级别,它会列出 EmployeeID Name 并列出 技能 他们有。

我所做的是另一个工作表(在我的 Employee Lookup 工作簿中)我使用了索引和匹配函数的组合来查找我输入EmployeeID并从员工技能数据表中返回技能级别。

我想要做的是尝试简化数据的获取方式(我有限的vba知识,但有一些excel公式知识,因此嵌套索引匹配)。 Employee Skills 表格包含Column A EmployeeIDRow A 技能名称(以及之前的标题)。

我可以为每一行设置Index / Match但我需要每个技能的列号并查找EmployeeID并返回技能(即使它们空白)。

我不会真的费心去试图弄清楚如何开始编码,但我认为有一种更简单的方法可以做到这一点,而不是为每个人制定一个Index / Match公式参考技能(当我协助4个部门时,每个部门有 ~15-50技能的任何地方)。

Index / Match函数需要花费大量时间,而且已经为一个群体服务。我不认为我想要的东西可以在Excel中完成,但不幸的是,这是我留下的数据资源。

电子表格布局示例:

Example of spreadsheet layout

1 个答案:

答案 0 :(得分:3)

简答:

(细分和颜色编码的屏幕截图分解公式进一步缩小,或全屏.PNG here 。)

以下是使用与您类似的示例数据的解决方案:

screenshot example #1

D16中公式的“简短版本”是:

=INDEX($C$4:$I$8,MATCH($D$11,$A$4:$A$8,0),MATCH(C16,$C$3:$I$3,0))

我使用的实际公式看起来更可怕,但它只是上面的公式两次(复制/粘贴)和IF所以如果“来源”它会带来一个空白单元格细胞“是空白的(就像Jane的Partying得分一样)......

=IF(INDEX($C$4:$I$8,MATCH($D$11,$A$4:$A$8,0),MATCH(C16,$C$3:$I$3,0))=0,"",INDEX($C$4:$I$8,MATCH($D$11,$A$4:$A$8,0),MATCH(C16,$C$3:$I$3,0)))

一旦该公式出现在D16中,我就会“填充”(或复制/粘贴)其他技能。

  • 请注意,上述公式中的 所有 单元格引用均为“绝对以外的{{1} }。

我们希望 所有 单元格区域保持不变,即使我们将单元格复制/粘贴(或填充)到另一个单元格... 除外 for C16:这就是我们基于的查找,以便在我们将单元格复制到别处时 需要更改。

“二维索引/匹配”示例:

screenshot example #2

  

下载C16示例文件:

     

为了更好地了解其工作原理,您可以从我的屏幕截图 here 下载 Excel文件,根据需要进行实验,修改和调整。

     

这是由Jumpshare托管的无宏.xslx 的直接下载链接,可让您查看online但它不喜欢复杂的公式,并且在某些浏览器上搞乱了柱状格式(但是您也可以使用右上角 DOWNLOAD 按钮从在线查看器下载>↗观众。

.XSLX& INDEX功能文档&更多示例:

关于绝对与相对细胞参考的碰撞课程

单元格引用 - 单元格引用是指工作表上的单元格或一系列单元格,可以在公式中使用,以便Microsoft Office Excel可以找到所需的值或数据计算公式。 <子>(Source

  

默认情况下 ,单元格引用为 relative 。例如,当您从单元格MATCH引用单元格A2时,实际上指的是左侧两列的单元格C2减去{ {1}}),并在同一行(C)。包含相对单元格引用的公式会在您将其从一个单元格复制到另一个单元格时发生更改。

     

例如,如果您将公式A从单元格2复制到=A2+B2,则C2中的公式会向右调整一列并变为{{ 1}}。如果要在复制时保留此示例中的原始单元格引用,则在列(D2D2)和行()之前设置单元格引用绝对 2)带有美元符号(=B2+C2)。然后,当您将公式AB复制到$时,公式将保持完全相同。

     

在不太常见的情况下,您可能希望通过在列或行值前面加上美元符号来“锁定”列或行(混合)。例如,=$A$2+$B$2C2

Chart: Compare 4 types of cell references <子>(Source

&GT;

  

“区域事后”

     

在回答有关 Excel's regional differences 的问题时,我想知道D2是否是绝对引用的国际符号,或者符号是否变化“穿过池塘“.

     
    

(“Brexit会将”U.K.Absolutes“$A2更改为B$3)吗?!”

  
     

快速搜索显示$确实是用于Excel Absolutes的“全球”符号 - 但是有些用户(之前从未输入=€A€1)无法找到它。这是一个描述How to type the $ Dollar Sign on Non-American Keyboards ...

的链接

祝你的项目好运!如果您有任何问题,请告诉我......