Formatowanie warunkowe programu Excel 2016 nie działa z AND [duplikat]


1

To pytanie ma już tutaj odpowiedź:

Próbuję automatycznie kolorować wiersze, gdy dany warunek jest prawdziwy, używając formatowania warunkowego. Na przykład pokoloruj wiersz, jeśli w kolumnie D znajduje się coś: =INDIRECT("D"&ROW())<>"" To działa dobrze.

Jeśli jednak spróbuję czegoś bardziej złożonego, nic się nie dzieje, nawet jeśli wciskam Ctr + Alt + F9. W szczególności to nie działa:

=AND(INDIRECT("D"&ROW())<>"",INDIRECT("F"&ROW())="X")

Ma on kolorować wiersz, w którym kolumna D nie jest pusta, a kolumna F zawiera X. Jeśli umieściłem go bezpośrednio w arkuszu (w jednej z jego komórek), działa świetnie. Ocenia prawdę, gdy ma być fałszywa, a fałsz. Niemniej jednak, gdy próbuję go użyć do formatowania warunkowego (chociaż reguła zostanie dodana), nie ma żadnego efektu; Nie barwi komórek, które ma.

Jaki jest problem? Jak mogę to rozwiązać?


Nie wiem, jaka jest odpowiedź, ale mogę odtworzyć problem. Aby sprawdzić, czy problem dotyczy AND, Sprawdziłem to =AND(INDIRECT("D"&ROW())<>"") nie działa podczas =INDIRECT("D"&ROW())<>"" kolory wierszy, w których kolumna D nie jest pusta.
Blackwood

1
Wydaje się, że problem występuje podczas używania obu AND i INDIRECT. Korzystając z odpowiedzi z duplikatu pytania, działa `= AND ($ D2 & lt; & gt;„ ”, $ F2 =„ X ”) (zakłada to, że pierwszy wiersz zakresu to wiersz 2).
Blackwood

Odpowiedzi:


0

Według komentarzy jest to NIE sposób używania formatowania warunkowego - używaj odwołań do komórek, jak mówi Blackwood, np.

=AND(D2<>"",F2="x")

.... ale specyficznym problemem jest tutaj ROW funkcjonować. Nie wiem, dlaczego w arkuszu jest OK, a nie w CF, ale ROW funkcja faktycznie zwraca „tablicę”, a nie liczbę, chociaż jest to pojedyncza liczba, na przykład w wierszu 2 ROW() zwraca tablicę {2}. W niektórych okolicznościach Excel ma problemy z przetwarzaniem tej tablicy, więc rozwiązaniem jest zawinięcie w inną funkcję SUM lub MAX, lubię to:

=AND(INDIRECT("D"&SUM(ROW()))<>"",INDIRECT("F"&SUM(ROW()))="X")

chociaż zauważam, że również działa bez SUM jeśli pomnożysz warunki zamiast używać AND, tj.

=(INDIRECT("D"&ROW())<>"")*(INDIRECT("F"&ROW())="X")

Uwaga: COLUMN funkcja czasami wyświetla to samo zachowanie

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.