我有一个包含几百个员工数据的工作表。在最基本的级别,它会列出 EmployeeID
, Name
并列出 技能 他们有。
我所做的是另一个工作表(在我的 Employee Lookup
工作簿中)我使用了索引和匹配函数的组合来查找我输入EmployeeID
并从员工技能数据表中返回技能级别。
我想要做的是尝试简化数据的获取方式(我有限的vba知识,但有一些excel公式知识,因此嵌套索引匹配)。 Employee Skills
表格包含Column A
EmployeeID
和Row A
技能名称(以及之前的标题)。
我可以为每一行设置Index
/ Match
但我需要每个技能的列号并查找EmployeeID
并返回技能(即使它们空白)。
我不会真的费心去试图弄清楚如何开始编码,但我认为有一种更简单的方法可以做到这一点,而不是为每个人制定一个Index
/ Match
公式参考技能(当我协助4个部门时,每个部门有 ~15-50技能的任何地方)。
Index
/ Match
函数需要花费大量时间,而且已经为一个群体服务。我不认为我想要的东西可以在Excel中完成,但不幸的是,这是我留下的数据资源。
答案 0 :(得分:3)
(细分和颜色编码的屏幕截图分解公式进一步缩小,或全屏.PNG
here 。)
以下是使用与您类似的示例数据的解决方案:
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
中,我就会“填充”(或复制/粘贴)其他技能。
我们希望 所有 单元格区域保持不变,即使我们将单元格复制/粘贴(或填充)到另一个单元格... 除外 for C16:这就是我们基于的查找,以便在我们将单元格复制到别处时 需要更改。
下载
C16
示例文件:为了更好地了解其工作原理,您可以从我的屏幕截图 here 下载 Excel文件,根据需要进行实验,修改和调整。
这是由Jumpshare托管的无宏
.xslx
的直接下载链接,可让您查看online但它不喜欢复杂的公式,并且在某些浏览器上搞乱了柱状格式(但是您也可以使用右上角 DOWNLOAD 按钮从在线查看器下载>↗观众。
.XSLX
& INDEX
功能文档&更多示例: Microsoft:Switch between relative, absolute, and mixed references
ExcelJet:Two-way lookup with INDEX and MATCH
mbaExcel:Tutorial: How to Decide Which Excel Lookup Formula to Use
Stack Overflow:Index/Match with VBA
单元格引用 - 单元格引用是指工作表上的单元格或一系列单元格,可以在公式中使用,以便Microsoft Office Excel可以找到所需的值或数据计算公式。 <子>(Source)子>
默认情况下 ,单元格引用为 relative 。例如,当您从单元格
MATCH
引用单元格A2
时,实际上指的是左侧两列的单元格(C2
减去{ {1}}),并在同一行(C
)。包含相对单元格引用的公式会在您将其从一个单元格复制到另一个单元格时发生更改。例如,如果您将公式
A
从单元格2
复制到=A2+B2
,则C2
中的公式会向右调整一列并变为{{ 1}}。如果要在复制时保留此示例中的原始单元格引用,则在列(D2
和D2
)和行()之前设置单元格引用绝对 2)带有美元符号(=B2+C2
)。然后,当您将公式A
从B
复制到$
时,公式将保持完全相同。在不太常见的情况下,您可能希望通过在列或行值前面加上美元符号来“锁定”列或行(混合)。例如,
=$A$2+$B$2
或C2
。
<子>(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 ...
祝你的项目好运!如果您有任何问题,请告诉我......