Mam ten arkusz.
Chcę sprawdzić wartość wykonania (%) na podstawie trzech kryteriów: roku, tygodnia i maszyny. Więc chcę powiedzieć szukaniu, aby szukać Rok: 2018, Tydzień: 2, Maszyna: Wypełniacz, powinienem uzyskać liczbę 100%. Chcę zrobić to samo dla daty CILT, czasu trwania (%) i wyniku.
WYSZUKAJ.PIONOWO wydaje się bardzo ograniczone dla tego rodzaju rzeczy.
Znalezione przeze mnie informacje o INDEKSIE i PODAJNIKU nie są dobrze wyjaśnione.
Czy VLOOKUP może to zrobić? Jeśli nie, w jaki sposób można uzyskać pożądane wartości?
Mam tę formułę
= INDEKS („Dane L5”! M5: M15, SUMPRODUCT (- („Dane L5”! A5: A15 = „2018”) („Dane L5”! B5: B15 = „2”) („Dane L5”! F5: F15 = „Filler”) * ROW („Dane L5”! 5: 15)))
Ale zwraca wartość o jeden wiersz w dół. Innymi słowy, dla roku: 2018, tygodnia: 2, maszyny: Wypełniacz zwraca 81,8% zamiast 100%. Co może być przyczyną?
źródło
Odpowiedzi:
Zadałeś trzy pytania.
Jednym z nich jest: „Czy można w tym celu użyć funkcji WYSZUKAJ.PIONOWO ()?” Miroxlav opublikował doskonałą odpowiedź pokazującą, jak to zrobić za pomocą kolumny pomocniczej.
Drugie pytanie dotyczy tego, jak uzyskać pożądany rezultat, a trzecie pytanie, jaki może być powód, dla którego twoja formuła zwraca złą odpowiedź. Spróbuję odpowiedzieć na dwa ostatnie.
Twoja formuła jest bardzo bliska prawidłowego działania. Zróbmy rozwiązywanie problemów, aby dowiedzieć się, co jest nie tak.
Po pierwsze, twoja formuła zawiera kilka literówek - brak znaku mnożenia w 2 miejscach między nawiasami. Excel zaproponował korektę tego i usunąłem odniesienia do arkusza danych („Dane L5”!) Dla uproszczenia:
=INDEX(M5:M15,SUMPRODUCT(--(A5:A15="2018")*(B5:B15="2")*(F5:F15="Filler")*ROW(5:15)))
Program Excel ma wbudowaną funkcję rozwiązywania problemów, w której możesz podświetlić część formuły na pasku formuły i wpisać F9, aby zobaczyć wartość podświetlonej części formuły.
Kliknij komórkę zawierającą formułę, a następnie podświetl wyrażenie (A5: A15 = „2018”) na pasku formuły i naciśnij F9 (klawisz funkcyjny 9). Zobaczysz tablicę zawierającą wszystkie
FALSE
wartości. Oznacza to, że brak komórki w A5: A15 = „2018”. To dlatego, że masz 2018 w cytatach. Jeśli usuniesz cudzysłowy i spróbujesz ponownie, otrzymasz tablicę,{TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}
której oczekujesz - pierwsze 5 komórek w zakresie to = 2018.Ten sam problem występuje w drugim wyrażeniu - usuń znaki cudzysłowu wokół 2 cali
(B5:B15="2")
. Trzeci wyraz(F5:F15="Filler")
nie trzeba cytaty, bo „wypełniacz” to tekst, zamiast liczby.Teraz zaznacz
(A5:A15=2018)*(B5:B15=2)*(F5:F15="Filler")
i wciśnij F9. Zobaczysz wynik jest{0;0;0;1;0;0;0;0;0;0;0}
. Co się tu stało? Mnożenie tablic wartości logicznych konwertuje wartości Prawda / Fałsz na 1 i 0, a także wykonuje równoważnik logicznego AND (). Zatem wynik ten mówi, że jest tylko jedna pozycja w zakresie wierszy 5:15, gdzie kolumna A to 2018, kolumna B to 2, a kolumna F to „Wypełniacz”. I ta pozycja jest czwarta.Następnie twoja formuła zwielokrotnia tę tablicę razy tablicę liczb wierszy 5:15. Używając F9, możesz zobaczyć ten wynik -
{0;0;0;8;0;0;0;0;0;0;0}
. Teraz SUMPRODUCT () sumuje elementy tej tablicy i zwraca wynik 8, który jest numerem wiersza, w którym wszystkie trzy warunki są spełnione. Ponownie możesz zobaczyć ten wynik za pomocą F9.A teraz jest główny problem - po tych pośrednich obliczeniach twoja formuła jest
=INDEX(M5:M15,8)
:, która zwraca ósmy element z zakresu M5: M15. Ale nie chcesz ósmego elementu, potrzebujesz czwartego, ponieważ zakres M5: M15 zaczyna się w rzędzie 5, a 100% znajduje się w czwartej komórce w zakresie M5: M15.Rozwiązaniem jest odjęcie 4 od SUMPRODUCT ():
=INDEX(M5:M15,SUMPRODUCT((A5:A15=2018)*(B5:B15=2)*(F5:F15="Filler")*ROW(5:15))-4)
To zwraca poprawny wynik - 100%.
Uwagi:
Mam nadzieję, że to pomoże. Przedstawione przeze mnie zmiany pozwolą na prawidłowe działanie formuły. Użyj odpowiedzi Miroxlav, jeśli chcesz użyć WYSZUKAJ.PIONOWO (). Powodzenia.
źródło
Tak, funkcja WYSZUKAJ.PIONOWO () może to zrobić, oferując potrzebną pojedynczą wartość (jeśli potrzebujesz sumy, użyj SUMIF ()).
W takich przypadkach zazwyczaj tworzę i używam klucza złożonego dla VLOOKUP ().
W twoim przypadku taki klucz po prostu zawiera wartości ze wszystkich trzech kolumn.
Umożliwia określenie kryteriów wyszukiwania za pomocą trzech kolumn.
Detale:
Wstaw kolumnę A z nagłówkiem Rok | Miesiąc | Maszyna i wzór (dla A5)
Więc dla A5 to oceni
2018|1|Filler
.Następnie rozłóż formułę w dół.
Gdziekolwiek chcesz przeprowadzić wyszukiwanie, złóż ten sam klucz i wykonaj VLOOKUP (), na przykład:
2018|1|Labeler
Lub złóż je z wartości w innych komórkach.A5:R9999
do rzeczywistego.8
aby dopasować kolumnęExecution (%)
, licząc od lewej kolumny powyższego zakresu.Gdy już zaczniesz działać, możesz także utworzyć podobny mechanizm wyszukiwania w oparciu o pozostałe trzy kolumny. Po prostu dodaj kolejną kolumnę po lewej stronie tych samych danych. (Powód: funkcja WYSZUKAJ.PIONOWO () oczekuje, że kolumna odnośnika będzie znajdowała się jak najbardziej na lewo).
Uwaga: Zazwyczaj ważne jest, aby mieć separator (w powyższym przykładzie użyłem
|
), aby klucze były unikalne. W przeciwnym razie2018
,10
,Filler
i2018
,1
,0Filler
stworzy ten sam klucz, co jest oczywiście błędne. W przypadku separatora użyj znaku nieobecnego w wartościach.AKTUALIZACJA: To rozwiązanie działa. W komentarzach poniżej wspomniano o niektórych problemach, które zostały teraz poprawione lub wyjaśniono punkty. Dzięki Rajesh za korektę.
źródło
8
musi zostać dostosowana. Wkładam notatkę do odpowiedzi.Twoja formuła Powinna to,
Uwaga: tylko Musisz wstawić znak „*” między każdym zakresem danych i nie używać „- -” po SUMPRODUCT.
Uwaga: to formuła CSE, więc zakończ z Ctrl + Shift + Enter .
Użyj mojego zakresu danych zamiast mojego.
Mam nadzieję, że ci to pomoże.
źródło