在Excel中传输数据
我有一个表,其中每一行代表一个逻辑值 有点像这样:在Excel中传输数据,excel,excel-formula,ms-office,excel-2016,excel-tables,Excel,Excel Formula,Ms Office,Excel 2016,Excel Tables,我有一个表,其中每一行代表一个逻辑值 有点像这样: | January | Margaret | 10 | | February | Jeff | 20 | | March | William | 30 | 我想将数据传输到另一个表,其中的数据建模如下: | | January | February | March +----------+---------+----------+------ | Margaret | 10 |
| January | Margaret | 10 |
| February | Jeff | 20 |
| March | William | 30 |
我想将数据传输到另一个表,其中的数据建模如下:
| | January | February | March
+----------+---------+----------+------
| Margaret | 10 | |
| Jeff | | 20 |
| William | | | 30
如果表1中有变化,同样的变化也应反映在表2中
只有4个名字和12个月。名字是重复的A,B,C,D,A,B,C,D,A,B,C,D。
数字是10-120。显然,我可以使用=并单击第一个表中的单元格,但我需要更优化的解决方案。我想不出来。任何建议都将不胜感激 听起来你正在尝试的是一种从长到宽的转换。在这种情况下,由于您只有月份,因此最简单的方法可能是创建一个以月份为标题的表(即1月至12月),然后编写一个
INDEX/MATCH
公式进行填充
假设这是您的表格,从单元格A2
Date Name Value
January Jone 1
January Mike 2
January Bob 3
February Jone 4
February Mike 5
February Bob 6
然后从B10
January February March April May June July August September October November December
以及一列唯一名称,从A11
Jone
Mike
Bob
所以整个事情看起来是这样的:
January February March ...
Jone
Mike
Bob
然后,我们使用索引/匹配公式来填充表格。将其写入单元格B11,然后填写:
=INDEX($C$3:$C$8,MATCH(1, INDEX(($A11=$B$3:$B$8)*(B$10=$A$3:$A$8),0,1),0))
这就是说,从C3:C8
返回一个值,其中A11
和B10
在各自的范围内匹配B3:B8
和A3:A8
你最终会得到:
January February ...
Jone 1 4
Mike 2 5
Bob 3 6
您可以使用Get&Transform
来
- 轴心柱1
- 高级选项:不聚合
- 值列:第3列
请将您的问题更清楚地显示您的输入/预期输出,并显示您已经研究/尝试过的内容。有关更多信息,请参阅。您是否尝试过使用转置?只需复制表格,右键单击要粘贴数据的位置并选择转置选项(特殊粘贴列表上的第四个)。