[英]Transpose rows to columns excel
我正在尝试将行转置为列,我尝试过Transpose(Array),但无法达到预期的结果。 这是我正在寻找的示例数据和预期结果。
样本数据:
Number Name Value
1001 description Unknown
1001 Code 0
1001 GNumber 232323
1001 DNumber 232323
1002 description Unknown
1002 GNumber 232323
1002 DNumber 232323
1003 description Unknown
1003 Code 0
1003 GNumber 232323
1003 ICode 123
1004 description Unknown
1004 GNumber 232323
1004 ExtCode 4000
预期成绩:
Number description Code GNumber DNumber ICode ExtCode
1001 Unknown 0 232323 232323
1002 Unknown 232323 232323
1003 Unknown 0 232323 123
1004 Unknown 232323 4000
谢谢,
TDLR:手动创建表的列和行标题。 然后使用内部的index()match()函数加载值。
方法:假设“数字”文本在A1中,并且您的数据填写在A2:C15中。
选择A2:A15>复制>然后粘贴到另一个空工作表/文件中>粘贴>然后选择“删除重复项”>复制结果>然后粘贴到单元格E2:E5中(与原始数据表相同)。
对B列执行相同操作,但需要转置。 :
选择B2:B15>复制>然后粘贴到另一个工作表/文件中>粘贴>然后选择“删除重复项”>复制结果>然后右键单击F1>粘贴特殊:转置。
现在,您应该有了表格的列和行标题。
将其放在F2中,然后拖动到K5。
=IFERROR(INDEX($C$2:$C$15,MATCH(1,INDEX(($E2=$A$2:$A$15)*(F$1=$B$2:$B$15),0,1),0)),"")
做完了
p / s:了解索引匹配是如何工作的..只需要开始阅读index()match()的简单示例即可。这里的公式相同,但有其他技巧。
希望能帮助到你。 (:
这可以通过两种方式完成。
使用标准公式 :在这种情况下,您将使用标准公式,但是要进行此工作,您需要额外的一列。
首先,您需要在数据的开头插入一个额外的列,在此处您将串联字段NUMBER和NAME的值。 在我的图像中,我使用了=B2&C2
:
然后,要获取数据,可以使用VLOOKUP来搜索串联的文本,如果找到,则将获取值。 如果未找到,我们将其与IFERROR结合使用以显示""
。
=IFERROR(VLOOKUP($B19&C$18;$A$1:$D$15;4;FALSE);"")
如上图所示,这将起作用。
使用ARRAY FORMULAS :这种方式是一个更复杂的公式,但是好处是您不需要添加额外的列。
我们在数组模式下将MATCH和INDEX结合起来以获得所需的值,如果没有找到,我们将使用IFERROR来显示""
:
我使用的公式是:
=IFERROR(INDEX($C$2:$C$15;MATCH($B22&C$21;$A$2:$A$15&$B$2:$B$15;0));"")
注意::因为这是在数组公式中,所以必须使用CTRL + SHIFT + ENTER输入,否则它将不起作用!
如果您想检查公式以及它们如何工作,我已经将两个示例都上传到了Gdrive中。
https://drive.google.com/open?id=1ke7L5W1Ii8TffR7HTPtPxnAHVwyDYymy
希望这可以帮助!。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.