Excel 不使用显式范围的数组公式
对于每个客户购买产品的实例,我都需要找出该客户之前购买该产品的时间。我有一个使用数组公式的解决方案:Excel 不使用显式范围的数组公式,excel,array-formulas,Excel,Array Formulas,对于每个客户购买产品的实例,我都需要找出该客户之前购买该产品的时间。我有一个使用数组公式的解决方案: {=MAX(IF(($D$3:$D$15 = [@Product])*($C$3:$C$15=[@Customer]) * ($E$3:$E$15<[@Date]),$E$3:$E$15,FALSE))} {=MAX(如果($D$3:$D$15=[@Product])*($C$3:$C$15=[@Customer])*($E$3:$E$15向日期检索添加另一个条件会更容易(而且是非数组)
{=MAX(IF(($D$3:$D$15 = [@Product])*($C$3:$C$15=[@Customer]) * ($E$3:$E$15<[@Date]),$E$3:$E$15,FALSE))}
{=MAX(如果($D$3:$D$15=[@Product])*($C$3:$C$15=[@Customer])*($E$3:$E$15向日期检索添加另一个条件会更容易(而且是非数组)切换到将任何不匹配的值强制为错误并忽略错误的位置
' in F3
=IFERROR(AGGREGATE(14, 6, ([Date])/(([Product]=[@Product])*([Customer]=[@Customer])*([Date]<[@Date])), 1), "")
' in G3
=IF([@PreviousPurchase]="", "", [@Date]-[@PreviousPurchase])
F3中的“”
=IFERROR(聚合(14,6,([Date])/([Product]=[@Product])*([Customer]=[@Customer])*([Date]向日期检索添加另一个条件会更容易(并且是非数组)切换到,其中任何不匹配的值都会被强制出错并忽略错误
' in F3
=IFERROR(AGGREGATE(14, 6, ([Date])/(([Product]=[@Product])*([Customer]=[@Customer])*([Date]<[@Date])), 1), "")
' in G3
=IF([@PreviousPurchase]="", "", [@Date]-[@PreviousPurchase])
F3中的“”
=IFERROR(聚合(14,6,([Date])/([Product]=[@Product])*([Customer]=[@Customer])*([Date]向日期检索添加另一个条件会更容易(并且是非数组)切换到,其中任何不匹配的值都会被强制出错并忽略错误
' in F3
=IFERROR(AGGREGATE(14, 6, ([Date])/(([Product]=[@Product])*([Customer]=[@Customer])*([Date]<[@Date])), 1), "")
' in G3
=IF([@PreviousPurchase]="", "", [@Date]-[@PreviousPurchase])
F3中的“”
=IFERROR(聚合(14,6,([Date])/([Product]=[@Product])*([Customer]=[@Customer])*([Date]向日期检索添加另一个条件会更容易(并且是非数组)切换到,其中任何不匹配的值都会被强制出错并忽略错误
' in F3
=IFERROR(AGGREGATE(14, 6, ([Date])/(([Product]=[@Product])*([Customer]=[@Customer])*([Date]<[@Date])), 1), "")
' in G3
=IF([@PreviousPurchase]="", "", [@Date]-[@PreviousPurchase])
F3中的“”
=IFERROR(聚合(14,6,([Date])/([Product]=[@Product])*([Customer]=[@Customer])*([Date]尝试使用结构化引用而不是范围引用
{=MAX(如果((表1[[全部],[产品]]=[@Product])*(表1[[全部],[客户]]=[@Customer])*(表1[[全部],[日期]]尝试使用结构化引用,而不是范围引用
{=MAX(如果((表1[[全部],[产品]]=[@Product])*(表1[[全部],[客户]]=[@Customer])*(表1[[全部],[日期]]尝试使用结构化引用,而不是范围引用
{=MAX(如果((表1[[全部],[产品]]=[@Product])*(表1[[全部],[客户]]=[@Customer])*(表1[[全部],[日期]]尝试使用结构化引用,而不是范围引用
{=MAX(如果((表1[[#; All],[Product]=[@Product])*(表1[[#All],[Customer]]=[@Customer])*(表1[[#All],[Date]]搜索“Excel动态范围偏移量”。抱歉,搜索得这么短。抱歉,搜索得这么短。搜索“Excel动态范围偏移量”。抱歉这么短。太棒了。我不知道聚合。我现在就去读。谢谢@Jeeped。太棒了。我不知道聚合。我现在就去读。谢谢@Jeeped。太棒了。我不知道聚合。我现在就去读。谢谢@Jeeped。太棒了。我不知道聚合。我现在就去读。Thanks@Jeeped。那也行。谢谢你@Charles Williams。我从来都不明白(例如,[Date]和[@Date]之间的区别。现在(我想)我明白了。谢谢。那也行。谢谢你@Charles Williams。我从来都不明白(例如,[Date]和[@Date]之间的区别。现在(我想)我知道。谢谢。那也行。谢谢你@Charles Williams。我从来都不明白(例如,[Date]&[@Date]之间的区别。现在(我想)我明白了。谢谢。那也行。谢谢你@Charles Williams。我从来都不明白(例如,[Date]&[@Date]之间的区别。现在(我想)我明白了。谢谢。