我有一个类似于下面的列表:
G:1 Diagonal Lattice - 5/16" Lath (1x2 Framed) S.S (PW) O:1 4 p
G:2 DLT (Diagonal Lattice Top) 2x4 Fr 1x6 T&G Y-Brds O:2 12PCS
G:3 Diagonal Lattice - 5/16" Lath (1x2 Framed) S.S (PW) O:3 3pc
G:4 Diagonal Lattice - 5/16" Lath (1x2 Framed) S.S (PW) O:4 6 pc
G:5 DLT (Diagonal Lattice Top) 2x4 Fr 1x6 T&G Y-Brds O:5 4 PC
G:6 SLT (Square Lattice Top) 2x3 OT3 Fr 1x4 T&G O:6 2pcs我不想调整列表,我只需要对这些值求和。
期望的结果是:
T:1 Diagonal Lattice - 5/16" Lath (1x2 Framed) S.S (PW) U:1 16
T:2 DLT (Diagonal Lattice Top) 2x4 Fr 1x6 T&G Y-Brds U:2 13
T:3 SLT (Square Lattice Top) 2x3 OT3 Fr 1x4 T&G U:3 2由于混杂的文本,我无法在没有错误的情况下使用sumif,至少到目前为止。
标签-项目= G1:G3701数量= O1:O3701
={sumif(Item, T1, Qty)}
={sumif(Item, T1, value(left(Qty, find("p",Qty)-1)))}这两种方法都不起作用。我试着添加一个函数来取出数字。
={sumif(Item, T1, getNumeric(Qty))}但是,我认为它失败的原因是相同的。
我已经测试了getNumeric函数,它可以在sumif之外工作。如果我创建一个数据透视表来提取不同的值并进行排序,那么这部分就很简单。但是我不能把计数值加起来,或者不知道怎么加。
有没有可以工作的udf?
编辑:修复,以提供更清晰的预期结果,sry。
发布于 2019-02-05 02:56:37
假设片段缩写始终存在,且始终以P开头,且数字始终位于其左侧,则可以使用以下公式:
=SUMPRODUCT(($A$1:$A$6=C1)*LEFT($B$1:$B$6,SEARCH("p",$B$1:$B$6)-1))

要处理数字后面没有"pcs“的情况,请在后面键入文本。换句话说,它实际上是一个数字。我会使用一个helper列来剔除数字,然后使用helper列来执行sum I或sumifs类型的函数。
更新
相同的公式适用于新的示例数据,并针对新列进行了调整:
=SUMPRODUCT(($G$1:$G$6=T1)*LEFT($O$1:$O$6,SEARCH("p",$O$1:$O$6)-1))

https://stackoverflow.com/questions/54522289
复制相似问题