Mam zestaw danych losowo rozmieszczonych, jak widać na poniższym obrazku. Chciałbym je zebrać i uporządkować w grupach (grupa 1, grupa 2 itd.). W poniższym przykładzie, jeśli wartość „1” jest obecna w jednej z kolumn A: R, wówczas wszystkie „1” powinny być wyłożone w grupie 1. jeśli nie ma 1, powinien wyglądać na pusty. Czy można to zrobić w programie Excel za pomocą formuły lub makra? Wolę jednak formułę. Dzięki.
Oto link do przykładowego skoroszytu (edytowalny): https://1drv.ms/x/s!AgVGRfBWRysXgWJTuf-ILJ0BTxyQ
Odpowiedzi:
Przede wszystkim grupy muszą mieć ten sam rozmiar danych (na wypadek, gdyby wiersz zawierał tylko jedną liczbę). Zatem grupa 1 musi należeć do przedziału od T do AK. W komórce T2 wprowadź formułę:
Wpisz formułę i naciśnij Ctrl + Shift + Enter, aby wprowadzić formułę tablicową. Następnie, podczas kopiowania i wklejania w kolumnach U do AK pokaże w Grupie 1 wszystkie wystąpienia 1.
Kilka wskazówek, jak to poprawić:
"Group " 0
, możesz zmienić 1 w formule na adres T1. Następnie, kopiując go do innych grup, formuła powinna dopasować się do innych liczb (musisz wstawić 1 do każdej kolumny od T do AK, ale pokaż tylko jedną z nich i, tworząc kolumny AM do BD, powinna być liczba 2 i tak dalej).IFERROR()
funkcji. Rozwiązaniem jest używaćIF()
iISERROR()
:IF(ISERROR(...),"",(...))
. Jest(...)
to formuła pierwszego argumentuIFERROR()
.(...)
.źródło
=INDEX($A$2:$R$2,SMALL(IF($A$2:$R$2=1,COLUMN($A$2:$R$2)),COLUMN(A:A)))
powinno być właściwe