将每周计划转换为日期表

将每周计划转换为日期表

我正在跟踪水果的摄入量。在这个例子中,我在一周中的某些天的某些时间吃 5 种水果(细分为 10 种,每种 2 种)。有时,我在某一天不吃某种水果,所以第二天我会吃 2 种水果来弥补。


我的代码:


=IFERROR(TEXT(IF(COUNTIF($A5:$I5,"*"&O$1&"*")>1,"More than once!",INDEX($A$3:$I$14,2,MATCH("*"&O$1&"*",$A5:$I5,0))),"ddd, d mmm"),"")


我的水果消费追踪器的部分内容:


第一部分:


在此处输入图片描述


最后部分:


在此处输入图片描述


我希望最终得到类似如下的结果(表 3):


在此处输入图片描述


到目前为止我得到的是(表 4):


在此处输入图片描述


我通过将 K 列到 T 列复制到另一张表上,然后删除“空白”来获得表 4,但根据特殊要求,这些“空白”实际上并不是空白:|

表3至表4为手册。


所以:

  1. 我如何才能得到多个日期如果除了重复的时间段外,某种水果是否在一天中的同一时间被食用(考虑一下是否在一周内三次在一天中的同一时间被食用某种水果)?

  2. 我怎样才能更有效地汇总所有日期一起?我似乎无法使用转到特殊,因为它不认为""是空白:|

我认为数据透视表会有所帮助,但我不知道该怎么做。我认为 VBA/宏会很有帮助,但我想先看看没有它们我还能做什么。

答案1

我创建了另一张表来对数据进行规范化。

我改变了输入法,添加了参数表和仪表板。

参数和数据

计划

告诉我这是否是你想要的!

答案2

  1. 只需使用多个单元格。

  2. 哈哈,这其实很简单。在 Excel 中,这是公式

您不需要 VB 代码,可以尝试一下。将其放在 B 列的单元格中,然后将其输入数组中,请参阅下文了解如何执行此操作,然后向下拖动,直到它开始返回空白。

=IFERROR(INDEX($A$1:$A$100,SMALL(IF($A$1:$A$100<>"",ROW($A$1:$A$100)),ROW(1:1))),"")

问题是

我在 A 列中有一个来自外部源的扩展数据列表。A 列中的数据有很多空白。我希望能够从 A 列中检索值并将其放入没有空白的 B 列中。我不想使用排序或过滤,因为数据一直在更新。

不幸的是答案是数组,所以我认为你每次都必须更新。我忘了。或者可能不是,但它仍然很长。

在 Google Sheets 中,公式与过滤功能有关,而且更简单。我再也找不到来源了。

=IFERROR(FILTER(工作表名称!K:K,LEN(工作表名称!K:K)),"")

相关内容