/ / Wklej do komórki tylko wtedy, gdy spełnione są określone warunki - excel, excel-formula

Wklej do komórki tylko wtedy, gdy spełnione są określone warunki - excel, excel-formula

Próbuję utworzyć listę e-maili, którespełnić pewien warunek. Więc mam trzy arkusze. W arkuszu numer 1 mam listę e-maili. W arkuszu numer 2 mam większą listę e-maili. Teraz muszę określić, czy e-maile w arkuszu numer 1 są również w arkuszu numer 2. Jeśli są, chcę utworzyć listę tych e-maili w arkuszu numer 3.

Próba. Zakładając, że dwie listy e-mail są w tym samym arkuszu w kolumnach A (mała lista) i B (duża lista). Najpierw ustalam, czy e-maile z mniejszej listy znajdują się również na większej liście. używam

= vlookup (A1, $ B $ 1: $ B 100,1, false)

Teraz zastanawiam się, jak ustawić tę funkcjęwklei wiadomość e-mail do komórki, jeśli wiadomość e-mail z mniejszej listy znajduje się również na większej liście. Myślałem o wypróbowaniu COUNTIF i IFERROR, ale nie mogłem stworzyć niczego użytecznego. Najbliższy byłam

= if (vlookup (A1, $ B $ 1: $ B 100,1, false) = A1,1,0)

Daje mi to 1, gdy e-mail z mniejszej listyznajduje się na większej liście i # N / A, gdy nie ma powodu, nie ma nic dla vlookup. Teraz zamiast 1s i # N / As potrzebuję, aby same wiadomości e-mail zostały wklejone, a funkcja IF nie lubi zakresów. Wszelkie sugestie proszę. Twoja pomoc jest doceniana.

Odpowiedzi:

1 dla odpowiedzi № 1

Dla celów ilustracyjnych zakładam, że mała lista mieści się w zakresie A1: A25 w Arkuszu1, a duża lista mieści się w zakresie A1: A100 w Arkuszu2.

Następująca formuła zostanie wstawiona do komórki A1 arkusza 3 i skopiowana do komórki A25 tego arkusza (tj. Długości małej listy).

=IFERROR(INDEX(Sheet2!$A$1:$A$100,SMALL(IFERROR(MATCH(Sheet1!$A$1:$A$25,Sheet2!$A$1:$A$100,0),""),ROWS(A$1:A1)),1),"-")

Jest to formuła tablicowa, którą należy wprowadzić za pomocą Kontrola-Przesunięcie-Wchodzić kombinacja klawiszy.


1 dla odpowiedzi nr 2

Spróbuj wykonać następujące czynności

W arkuszu 1 Komórka A1 -

=if(iserror(vlookup(A1,$B$1:$B$100,1,false))=TRUE,0,1)

W Arkuszu 1 Komórka A2 i reszta strony -

=if(iserror(vlookup(A1,$B$1:$B$100,1,false))=TRUE,A1,A1+1)

Upewnij się, że nie używasz statycznego odniesienia dla A1, ponieważ chcemy, aby zmieniło się ono na A2 i tak dalej w dół arkusza.

W arkuszu 3 Komórka A1 -

=if(iserror(vlookup(1, "Sheet1"!A:B,2,false))=TRUE,"",vlookup(1, "Sheet1"!A:B,2,false))

W Arkuszu 3 Komórka A2 i reszta strony -

=if(iserror(vlookup(2, "Sheet1"!A:B,2,false))=TRUE,"",vlookup(2, "Sheet1"!A:B,2,false))
=if(iserror(vlookup(3, "Sheet1"!A:B,2,false))=TRUE,"",vlookup(2, "Sheet1"!A:B,3,false))

Ukryj kolumnę w kolumnie 1 arkusza A, gdzie jesteśtestowanie, czy jest w obu arkuszach. To po prostu przechodzi i sprawdza, czy jest na obu listach, a jeśli nie, nie zwiększasz licznika, dlatego nie będą wyświetlane na arkuszu 3.

W arkuszu 2 zasadniczo zwracasz tylko listę, według której wiadomości e-mail odpowiadają obu warunkom. Dlatego musisz zwiększyć wartość wyszukiwania.