将数据表显示为可视化

时间:2018-08-15 15:15:39

标签: excel excel-formula formulas

我有一些数据,其中包括2个人的任务列表。

enter image description here

我想用以下格式表示此数据。

enter image description here

看起来像下面的样子。

enter image description here

如何使用公式来实现这一目标?

[编辑] 我认为这个问题与“ Excel中的数据整理-重新排列列和行”不同,因为我的问题是以更甘特的图表式格式反映计划,而另一个问题似乎更多地是关于转置数据。

1 个答案:

答案 0 :(得分:2)

不确定在同一张工作表还是新工作表上是否具有所需的输出,但是我使用了从单元格A1开始的新工作表。公式中将源数据表称为S1

假设:

  • Column C =日期开始
  • Column D =日期结束
  • 人员条目分组在一起(人员1,人员1,然后是人员2;从不人员1,人员2,​​人员1)
  • 不能在同一时间范围内为人员分配两个不同的区域(例如,在给定的月份中,人员1不能具有A和B)
  • 您希望的日期始终是每月的第一天

输出/公式:

  • A1为空
  • A2=INDEX('S1'!$A$1:$A$6,IFERROR(MATCH(A1,'S1'!$A$1:$A$6,0),1)+COUNTIF('S1'!$A$1:$A$6,A1))
  • A3:从A2
  • 向下复制的公式
  • B1=IF(A1<>"",EDATE(A1,1),MIN('S1'!$C$1:$D$6))
  • C1J1:从B1复制的公式
  • B2:= INDEX('S1'!$B$1:$B$6,MATCH(1,INDEX(('S1'!$A$1:$A$6=$A2)*('S1'!$C$1:$C$6<=B$1)*('S1'!$D$1:$D$6>=B$1),0),0))
  • B3C2J3:从B2复制的公式

说明:

  • A2公式::查看先前的Person条目首次出现的位置(MATCH部分),并计算其具有的条目数(COUNTIF部分)以确定行(INDEX部分)中的下一个“个人”条目。 IFERROR部分用于返回第一个Person条目,该条目假定位于第1行。
  • B1公式::将一个月添加到上一个日期标题(EDATE部分)。第一个日期标题会在您的源数据(MIN部分)中寻找最早的日期。
  • B2公式:在源数据上使用具有多个条件的匹配项(人员条目必须与指定的人员匹配,开始日期必须在日期标题之前或之后,并在结束日期之前日期必须在日期标题之后或日期)。第二个INDEX创建一个组合的标准结果数组(如果为true,则为1,如果为false,则为0),而MATCH返回的是哪个条目。第一个INDEX返回任务(A,B或C)。