Formatowanie warunkowe z wieloma kryteriami dla zakresu komórek

15

Próbuję użyć formatowania warunkowego, aby podświetlić komórkę, jeśli jej wartość nie jest pusta ORAZ, jeśli jej wartość nie jest równa -------.

Próbowałem każdej normalnej formuły, której używam, aby sprawdzić, czy komórka jest pusta lub zawiera określony ciąg bez powodzenia, jak to zrobić w przypadku formatowania warunkowego?

Edycja: dotyczy zakresu komórek, a nie pojedynczej komórki.

Douglas Gaskell
źródło

Odpowiedzi:

12

Napisanie formuły spełniającej podane kryteria jest kwestią rozbicia kryteriów i wdrożenia odpowiednich funkcji Arkuszy.

  1. Ustalono, że formatowanie powinno być stosowane tylko wtedy, gdy komórka nie jest pusta. Te EQtesty czynnościowe, czy jedna z wartości (na przykład jako komórka odniesienia'S) jest taka sama jak drugiego. Ponieważ chcemy przetestować na pustej komórce, użyjemy ""(pusty ciąg) w naszej funkcji EQ. Tak EQ(A1,""). Ale chcesz, aby zwrócił PRAWDA, jeśli komórka NIE jest pusta, więc zawiemy to wyrażenie w NOTfunkcji.

NOT(EQ(A1,""))

  1. Ustalono również, że formatowanie należy zastosować, jeśli wartość komórki nie jest ------- . Po raz kolejny możemy użyć do tego EQ. EQ(A1,"-------"). I znowu zawiniemy go w funkcję NOT, aby spełnić twoje kryterium.

NOT(EQ(A1,"-------"))

  1. Wreszcie, chcesz, aby OBA te kryteria były spełnione, jeśli formatowanie ma być zastosowane. Użyjemy więc ANDfunkcji, wprowadzając dwie formuły, które razem ułożyliśmy jako argumenty. Twoja ostateczna formuła to:

=AND(NOT(EQ(A1,"")),NOT(EQ(A1,"-------")))

Upewnij się, że podczas tworzenia reguły formatowania warunkowego ustawisz pole warunku na „Formuła niestandardowa to”, inaczej nie będzie działać.


DODATEK: Normalny człowiek zaproponował alternatywną formułę, która jest zarówno krótsza, jak i łatwiejsza dla oczu niż moja. Wykorzystuje operatory logiczne zamiast niektórych funkcji logicznych Arkuszy, a więc nie jest tak łatwe do naśladowania bez wiedzy o tych operatorach. Jednak logika jest dokładnie taka sama. ( <>jest operatorem „nie równa się”).

=AND(A1<>"", A1<>"-------")

SightSpirit
źródło
Chociaż działa to w przypadku pojedynczej komórki, muszę to zrobić w całym zakresie, a nie dla poszczególnych komórek. Właśnie tam wpadam na problemy. Powinienem był to sprecyzować.
Douglas Gaskell,
Żaden problem! Zamień „A1” we wzorze, który napisałem, na żądany zakres. Czy masz problem z określeniem zakresu w formule? Jeśli tak, jaki jest zasięg?
SightSpirit,
Może nieprawidłowo wpisuję zakres. Wchodzę w to D6:I101, czy to jest nieprawidłowe? To: NOT(ISBLANK(D6:I101))powinno zastosować styl formatowania do każdej niepustej komórki i tak się nie dzieje.
Douglas Gaskell,
1
Myślę, że =AND(D6<>"", D6<>"-------")byłoby prostsze ... @ douglasg14b czy masz =przed formułą?
2
Dzięki za pomoc! okazuje się, że komórka, której wartość ustawiona jest na wartość ""zwracaną FALSEpodczas jej testowania ISBLANK(). Musiałem po prostu przetestować ""bezpośrednio.
Douglas Gaskell,
2

Jest to zależne od lokalizacji, ale separator operatora funkcji w Twoim kraju może być „;” (średnik) nie „,”. Jeśli tak jest w Twoim kraju, prawidłowa odpowiedź to:

=AND(A1<>"";A1<>"-------")

Spędziłem dużo czasu, żeby to rozgryźć w moim kraju, więc napisałem to tutaj dla tych, którzy mają ten sam problem.

BTW Możesz również rozważyć użycie „$” z nazwą kolumny lub numerem wiersza, jeśli planujesz używać tej formuły w różnych kolumnach / wierszach.

Bartłomiej Uliasz
źródło