需要两件事的帮助。
Excel工作表的图片:
第1名:
另一个代码会将第7行的“应付金额”和“未付款”的最高值粘贴到B1和B2中。由此,我需要两个代码,分别为'到期金额'和'到期未支付',检查第6行中B1和B2的值是否有重复。如果有,则文本'几个日期与相同数量'应显示在F1和F2中。如果没有,那么第4行的相应日期应显示在F1和F2中。
但是有一些与第5行中的值相关的例外情况。这两个代码应该完全相同,但使用“应付金额”或“未付款”作为基础。为了简化场景,我使用'Amount due'的代码作为示例:
与我链接的图片相关的示例:
2号:
正如您所看到的,每对“到期金额”和“到期未付款”列都链接到一个日期(即“未付款”列始终属于其左侧的日期)。在上述第二种情况下,是否有可能“到期未支付”代码在“应付金额”列上方提取位于其左侧的日期。因此在图中,F2中的输出应该是30.12.16,因为代码在第7行中的“未支付”中取得最高值,这在第F列中 - 并且由于库存E中的副本是“应付金额”,输出应该是一个日期。
我目前的代码:
Sub test()
Dim Range1 As Range
Set Range1 = ActiveSheet.Range("A6:F6")
For Each cell In Range1
If WorksheetFunction.CountIf(Range1, Range("B1").Value) > 1 Then
ActiveSheet.Range("F1").Value = "Several dates with the same amount"
Else
ActiveSheet.Range("F1").FormulaArray = "=INDEX(A3:F3,MATCH(B1,A6:F6,0))"
End If
Next
End Sub
希望这是可以理解的 杰夫
答案 0 :(得分:0)
我怀疑您的问题相对于您想要的过于简化,但以下两个公式将返回您在图片中显示的内容。假设您有更多的数据行,您需要根据实际情况进行调整:
F1: =IF(COUNTIFS($A$5:$F$5,"Amount Due",$A$7:$F$7,B1)>1,"Several dates with the same amount",SUMPRODUCT((A7:F7=B1)*(A5:F5="Amount Due")*A4:F4))
F2: =IF(COUNTIFS($A$5:$F$5,"Due not paid",$A$7:$F$7,B2)>1,"Several dates with the same amount",SUMPRODUCT((B7:F7=B2)*(B5:F5="Due not paid")*A4:E4))
请注意,关于F2中的公式,为了处理适用日期的偏移,我们将水平数组“缩短”一个,并将其相对于日期偏移一个。