Excel udf: сумма из чисел в ячейках смешанного текста из соответствующих дубликатов в списке - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть список, похожий на этот:

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 я сделал сводную таблицу, чтобы вывести отдельные значения и привести их в порядок, эта часть проста.Но я не могу сложить значения Tally или не знаю как.

Есть ли работающий udf?

edit: исправлено, чтобы дать более четкий желаемый результат, сэр.

1 Ответ

0 голосов
/ 04 февраля 2019

Предполагая, что аббревиатура штук есть всегда, И она всегда начинается с P И номер всегда слева от него, вы можете использовать следующую формулу:

=SUMPRODUCT(($A$1:$A$6=C1)*LEFT($B$1:$B$6,SEARCH("p",$B$1:$B$6)-1))

POC

Для случая, когда у вас есть номер без текста типа «шт» после него.другими словами, это на самом деле число.Я бы использовал вспомогательный столбец для вырезания числа, а затем выполнил бы функцию типа sumif или sumifs, используя вспомогательный столбец для суммы.

UPDATE

Та же формула работает с данными нового примера ис учетом новых столбцов:

=SUMPRODUCT(($G$1:$G$6=T1)*LEFT($O$1:$O$6,SEARCH("p",$O$1:$O$6)-1))

enter image description here

...