【发布时间】:2016-05-11 00:24:50
【问题描述】:
鉴于下面的全部示例表,如何识别:
- 上面的 H 列或日期作为第一组带有 x 的连续单元格的最后一个单元格。
- 上面的 M 列或日期作为第二组连续 x 的第一个单元格。
+---+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+
| | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P |
+---+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+
| 1 | 14/01/01 | 14/01/02 | 14/01/03 | 14/01/04 | 14/01/05 | 14/01/06 | 14/01/07 | 14/01/08 | 14/01/09 | 14/01/10 | 14/01/11 | 14/01/12 | 14/01/13 | 14/01/14 | 14/01/15 | 14/01/16 |
| 2 | | | | x | x | x | x | x | | | | | x | x | x | |
+---+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+
block 之间的间隙最大大小为 356。由于拼写错误,cmets 中的 316 的数量是错误的。
使用的公式:
识别第一个整体 x:
=MATCH("x",$A2:$P2,0)
确定最后一个整体 x:
=MATCH("x",$A2:$P2,1)
限制:
没有 VBA,只有 Excel 公式。
没有辅助单元格。
无法将 x 更改为其他标识符。
第一个块结束的一个单元格公式。
第二个块开始的一个单元格公式。
当我为两组使用两个不同的标识符时,这很容易,但是使用相同的标识符我只能弄清楚如何识别第一个和最后一个 X。我不知道如何识别两者之间的差距。我个人认为这是不可能的,但我看到在这里回答问题的人做了一些了不起的事情。如果您认为不可能,请说出来。
【问题讨论】:
-
总是两组还是可以变化?
-
我打算从两个小组开始,看看我是否可以把这个概念理解下来并从那里开始。根据它的工作方式,我可以用它来忽略周末的间隙。但暂时我会将其保留为两组 1 未确定大小的差距....实际上这并不完全正确。差距必须小于一年。即少于360 列...我认为最大的差距可以是316 列。不确定这是否重要,但最好把它扔在那里以防万一它可以使用。
-
我有一些想法。我明天会去。
-
不着急,它来自这里的另一个问题,对于我来说,我只是无法弄清楚如何识别差距。我的解决方案是为第二个块使用不同的标识符。我也想过使用块开始和块结束标识符,但这也是不行的。我知道如何根据给定的日期生成块,但是要根据我无法弄清楚的块获取日期。
-
顺便说一句,这个单细胞复活节公式花了你多长时间?我看到了这方面的一些背景,只是说这真是太痛苦了!
标签: excel excel-formula