复杂多条件Excel公式

时间:2017-08-23 16:45:41

标签: excel excel-formula formula formulas inventory

我需要在excel中编写一个复杂的公式(或者如果某人有关于另一个程序的建议,请使用我打开它!),并根据项目的存储位置使用多个条件。

每个项目都计算了最小和最大平均等级,但可以存储在多个位置。该par的百分比是根据该项目的存储位置计算的(参见下图)。例如:

项目A存储在中央位置1,中央位置2和2个外部(也称为非中央)位置。总数量为100个项目A。

根据我们的情景,我们会发现:

中心位置1:70%
中心位置2:20%
外部位置外部位置的1:10%/# 外部位置2:10%/#外部位置

因此,我们在每个位置的该项目的平均等级将是:
项目A的中央位置1:70 项目A的中央位置2:20
项目A的外部位置1:5
项目A的外部位置2:5

左侧是每个商品ID#的存储位置。我需要根据下面的场景分配每个位置的总Min和Max pic

我可以手动完成每个项目(存储位置,方案是什么,计算),但是有1,500个项目存储在不同的地方。我可以编写任何公式来计算项目的位置以及该项目将存储在其中的每个区域的数量吗?

我尝试过使用各种IF和匹配功能,但觉得我不知道从哪里开始。

任何帮助都会很棒!

可以存储项目的不同场景。根据存储位置,每个位置将获得总数的不同百分比(在上图中右侧)pic

1 个答案:

答案 0 :(得分:0)

选项1

enter image description here

使用以下公式为M和N第2行构建您的参考表,并向下复制尽可能多的项目

=SUMPRODUCT(($C$2:$C$11=$J2)*(LEFT($A$2:$A$11)="c"))

=SUMPRODUCT(($C$2:$C$11=$J2)*(LEFT($A$2:$A$11)="e"))

之后在您的单元格M2中使用以下等式并向下复制:

=IF($A2="external",IF(INDEX($J$2:$N$5,MATCH($C2,$J$2:$J$5,0),4)=1,0.2,0.1)*INDEX($J$2:$N$5,MATCH($C2,$J$2:$J$5,0),2)/INDEX($J$2:$N$5,MATCH($C2,$J$2:$J$5,0),5),IF(--RIGHT($A2)=1,IF(INDEX($J$2:$N$5,MATCH($C2,$J$2:$J$5,0),4)=1,IF(INDEX($J$2:$N$5,MATCH($C2,$J$2:$J$5,0),5)=0,1,0.8),0.7)*INDEX($J$2:$N$5,MATCH($C2,$J$2:$J$5,0),2),IF(INDEX($J$2:$N$5,MATCH($C2,$J$2:$J$5,0),5)=0,0.3,IF(INDEX($J$2:$N$5,MATCH($C2,$J$2:$J$5,0),4)=1,0.8,0.2))))

为了获得最大值,请重复概念,但要更改

*INDEX($J$2:$N$5,MATCH($C2,$J$2:$J$5,0),2)

*INDEX($J$2:$N$5,MATCH($C2,$J$2:$J$5,0),3)

更改告诉它从第3列而不是第二列中获取值。将有多个位置来执行此操作。

POC

选项2

使用图片下方的公式,在右侧构建您的表格,如下图所示。

POC

将列M和N构建为选项1 使用以下内容构建O:Q列:

=IF(AND(M3=0,N3=0),0,IF(M3=2,0.7,IF(N3=0,1,0.8))*K3)
=IF(AND(M3=0,N3=0),0,IF(M3=2,IF(N3=0,0.3,0.2),0.8)*K3)
=IF(AND(M3=0,N3=0),0,IF(M3=1,0.2,0.1)*K3/N3)

在R:T中将这些公式改为K3到L3

然后在D和E栏中使用相应的公式:

=INDEX($O$3:$Q$6,MATCH($C2,$J$3:$J$6,0),MATCH($A2,$O$2:$Q$2,0))
=INDEX($R$3:$T$6,MATCH($C2,$J$3:$J$6,0),MATCH($A2,$R$2:$T$2,0))

根据需要复制公式。

选项2虽然更多的分散可能更容易阅读并因此维持。