【问题标题】:Transferring data in Excel在 Excel 中传输数据
【发布时间】:2019-01-28 21:40:02
【问题描述】:

我有一个表格,其中每一行代表一个逻辑值。

有点像这样:

| 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。显然我可以使用 = 并单击第一个表中的单元格,但我需要更优化的解决方案。我想不通。任何建议将不胜感激!

【问题讨论】:

  • edit您的问题更清楚地显示您的输入/预期输出 - 并显示您已经研究/尝试过的内容。请参阅How to Ask 了解更多信息。
  • 您是否尝试过使用Transpose?只需复制表格,右键单击要粘贴数据的位置并选择转置选项(特殊粘贴列表中的第 4 个)。

标签: excel excel-formula ms-office excel-2016 excel-tables


【解决方案1】:

听起来您正在尝试做的事情被称为从长期到广泛的转变。在这种情况下,由于您只有几个月,因此最简单的方法可能是创建一个以您的月份为标题的表格(即 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         

然后我们使用INDEX/MATCH 公式来填写表格。把这个写在单元格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 返回一个值,其中A11B10 在它们各自的范围内匹配B3:B8A3:A8

你最终得到:

    January February  ...
Jone    1   4
Mike    2   5
Bob     3   6

【讨论】:

    【解决方案2】:

    你可以使用Get&Transform

    • 枢轴柱 1
      • 高级选项:不聚合
      • 值列:第 3 列

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多