简化excel功能

问题描述 投票:0回答:1

IF(SUMIFS('SAP TRACKER'!N:N,'SAP TRACKER'!K:K,[@FPC],'SAP TRACKER'!B:B,"已发货",'SAP TRACKER'!J:J, [@PO])-IF(ROW(F40)=3,0,SUMIFS($N$3:N39,$F$3:F39,F40,$D$3:D39,D40))>[@[数量(IT) ]],[@[数量(意大利)]],SUMIFS('SAP TRACKER'!N:N,'SAP TRACKER'!K:K,[@FPC],'SAP TRACKER'!B:B,"已发货" ,'SAP TRACKER'!J:J,[@PO])-IF(ROW(F40)=3,0,SUMIFS($N$3:N39,$F$3:F39,F40,$D$3:D39,D40 )))

这个函数返回某个 PO 中某种材料的发货数量总和,我在后续列中还有 2 个函数来返回正在进行的发货,但是工作簿很重,每次我做某事时都会不断地计算 8 个线程,我已经转向关闭自动保存,是否有更简单的函数可以给出相同的结果 Sap tracker“我输入发货的表格” 'SAP TRACKER'!N:N:“正在运输的物料数量” 'SAP TRACKER'!K:K“第一标准物料编号” [@FPC]“工作表中的材料编号,我具有该功能” 'SAP TRACKER'!B:B“状态已发货,进行中” 'SAP TRACKER'!J:J“第二个标准采购订单号” [@PO]“PO 在工作表中我有这个功能”

excel excel-formula
1个回答
0
投票

对于初学者来说,不要计算两次。基本上,你的公式是

IF(
 CompareComplicatedValueAndSomeOtherValue,
 SomeOtherValue,
 ComplicatedValue
)

...您将复杂的值驱动两次。

您可以使用

LET
,但在这种情况下,您只需取
SomeOtherValue
ComplicatedValue
中的最小值,因此最好像这样使用
MIN
...

MIN(
 SUMIFS(
  'SAP TRACKER'!N:N,
  'SAP TRACKER'!K:K,
  [@FPC],
  'SAP TRACKER'!B:B,
  "Shipped",
  'SAP TRACKER'!J:J,
  [@PO]
 )-IF(
  ROW(F40)=3,
  0,
  SUMIFS(
   $N$3:N39,
   $F$3:F39,
   F40,
   $D$3:D39,
   D40
  )
 ),
 [@[QTY (IT)]]
)
© www.soinside.com 2019 - 2024. All rights reserved.