首页 > 解决方案 > 将数据表显示为视觉对象

问题描述

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

在此处输入图像描述

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

在此处输入图像描述

所以它看起来像下面这样。

在此处输入图像描述

我怎样才能通过使用公式来实现这一点?

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

标签: excelexcel-formulaformulas

解决方案


不确定您是否在同一张纸或新纸上拥有所需的输出,但我使用了从 cell 开始的新纸A1。源数据表S1在公式中被引用。

假设:

  • Column C= 开始日期
  • Column D= 日期结束
  • 人员的条目被分组在一起(Person1、Person1、然后是 Person2;从不是 Person1、Person2、Person1)
  • 不能为同一时间范围内的人员分配两个不同的区域(例如,Person1 不能在给定月份拥有 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))
  • C1to J1: 复制自的公式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))
  • B3C2to J3:公式复制自B2

说明:

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

推荐阅读