Korzystanie z funkcji GCD z tablicami w programie Excel

2

Mam problem z określeniem GCD na podstawie zestawu danych. Próbuję określić ilość przedmiotów w pudełku dowolnego przedmiotu w magazynie bez fizycznego patrzenia na każdy przedmiot na półkach.

Oto przykładowy zestaw danych, który utworzyłem z zamówień sprzedaży.

0   Part1
36  Part1
12  Part1
18  Part1
6   Part1
0   Part1
6   Part1
36  Part1
36  Part1
20  Part2
5   Part2
15  Part2
20  Part2
25  Part2
0   Part2
30  Part2

Patrząc na to, widzę, że część 1 jest dostarczana w pudełkach po 6. Część 2 jest dostarczana w pudełkach po 5. To zwrot, którego szukam.

Mam wrażenie, że jestem blisko

=GCD(SUMPRODUCT(--(A$1:A$16),(B$1:B$16=B1)),A1)

lub

=GCD(SUMPRODUCT(--(A$1:A$16)*(B$1:B$16=B1)),A1) 

ale to nie do końca działa.

Zasadniczo chcę coś takiego SUMIF. GCDIFFunkcja gdzie=GCDIF(range,criteria,[GCD range])

czy to możliwe?

Brzoskwiniowy kefir
źródło
Aby wyjaśnić innym czytelnikom i potencjalne odpowiedzi, czy wszystkie numery części są zgrupowane razem jak w pytaniu, czy są to losowe listy? Czy jest stosunkowo mało rekordów i czy lista jest statyczna, więc możesz znaleźć podziały grup i zapisać je w formule? Załóżmy, że masz tylko kilka rekordów dla części i są to wielokrotności tej samej wielokrotności (np. Pole 5, ale rekordy to 10 i 20). Czy odpowiedź 10 będzie wystarczająca?
fixer1234,
Numery części są zgrupowane razem, ale istnieje ponad 40 000 rekordów, więc ręczne znalezienie podziałów grupy nie jest opcją. Natkniemy się na problem wielokrotności tej samej wielokrotności, co skutkuje większym szacunkowym rozmiarem pudełka niż faktyczny, ale w tym ćwiczeniu oszacowanie jest wystarczająco bliskie, a wszelkie błędy mogą być naprawione przez użytkownika tworzącego zamówienia.
Peach_kefir,

Odpowiedzi:

3

Możesz użyć GCD zawiniętego w formułę IF in Array, aby uzyskać GCD dla każdej części. Zobacz poniższy przykład.

Przykładowe dane znajdują się w komórkach A1: B15.

W C1 wstaw następującą formułę i naciśnij CTRL+ SHIFT+ ENTERz paska formuły, aby utworzyć formułę macierzy. Formuła zostanie teraz zamknięta w nawiasy klamrowe, aby wskazać, że jest to formuła tablicowa.

=GCD(IF($B$1:$B$15=B1,$A$1:$A$15,0))

Po prostu przeciągnij go w dół, aż zamierzone rzędy.

wprowadź opis zdjęcia tutaj

patkim
źródło
0

To rozwiązanie ma inne podejście. Zastosowanie Ifz CHOOSEmoże również znaleźć GCDzakres danych.

wprowadź opis zdjęcia tutaj

Napisz tę formułę w komórce F73i wypełnij.

=IF(E73=$E$71,GCD(CHOOSE(1,D$73:D$78,D$79:D$81)),IF(E73=$F$71,GCD(CHOOSE(2,D$73:D$78,D$79:D$81)),GCD($D$82:$D$83)))

Uwaga: w razie potrzeby dostosuj odwołania do komórek w formule.

Rajesh S.
źródło