我在Excel中有一个表,其名称在A列中,日期在B列中。大部分名称都存在多次,每个名称都在B列中显示付款日期。因此,如果有人收到一个付款,则名称有一次,有约会。如果有人收到8,那么这个名字就有8次,有8个不同的日期。
我正在寻找的是一种方法,取每个名称(不是出现,但是相同的字符串),并显示每个字符串相同的最大和最小日期的差异(即每个人的付款日期范围。)
我基本上尝试过Excel中的所有内容。条件格式和数据透视表没有帮助(后者只能添加,而不是在使用PT时减去)。即使指定条目的最小值和最大值,手动工作也会花费大量时间,因为该表有17033行,其中包含2218个唯一名称。
如果你能提供帮助,我将不胜感激。我怀疑解决方案并不那么难,但我真的无法理解它。
答案 0 :(得分:0)
您可以使用标准数组公式列出不同的名称,例如在D2: -
=INDEX($A$2:$A$10000,MATCH(1,(COUNTIF($A$1:$D1,$A$2:$A$10000)=0)*($A$2:$A$10000<>""),0))
然后另一个找到每个名字的最大值并减去最小值: -
=MAX(IF($A$2:B$10000=$D2,$B$2:$B$10000))-MIN(IF($A$2:A$10000=$D2,$B$2:$B$10000))
但是这些行很慢~~10000行 - 数据透视表的速度要快得多。
我会通过将最小和最大日期作为数据字段放在数据透视表中并手动添加公式以从另一个中减去一个来保持事情变得非常简单 - 稍后会发布屏幕截图。