Formatowanie warunkowe na podstawie wartości innej komórki

490

Korzystam z Arkuszy Google do codziennego pulpitu nawigacyjnego. Potrzebuję zmienić kolor tła komórki B5 na podstawie wartości innej komórki - C5. Jeśli C5 jest większe niż 80%, wówczas kolor tła jest zielony, ale jeśli jest poniżej, będzie bursztynowy / czerwony.

Czy jest to dostępne z funkcją Arkuszy Google, czy muszę wstawić skrypt?

Mark Magalona
źródło
4
Dopóki nie przejdziesz do nowych Arkuszy, dostosuj jeden ze skryptów z tej odpowiedzi, używając onEditwyzwalacza lub odpowiedzi, która nie odpowiada .
Mogsdad,

Odpowiedzi:

535

Uwaga: gdy w objaśnieniu poniżej jest napisane „B5”, oznacza to w rzeczywistości „B {bieżący_wój}”, więc dla C5 to B5, dla C6 to B6 i tak dalej. O ile nie określisz $ B $ 5 - wtedy odnosisz się do jednej konkretnej komórki.


Jest to obsługiwane w Arkuszach Google od 2015 r .: https://support.google.com/drive/answer/78413#formulas

W twoim przypadku musisz ustawić formatowanie warunkowe na B5.

  • Użyj opcji „ Formuła niestandardowa to ” i ustaw ją na =B5>0.8*C5.
  • ustaw opcję „ Zakres ” na B5.
  • ustaw żądany kolor

Możesz powtórzyć ten proces, aby dodać więcej kolorów dla tła, tekstu lub skali kolorów.

Jeszcze lepiej, aby jedna reguła dotyczyła wszystkich wierszy, używając zakresów w „ Zasięg ”. Przykład zakładający, że pierwszy wiersz jest nagłówkiem:

  • W formatowaniu warunkowym B2 ustaw „ Formuła niestandardowa to ” na =B2>0.8*C2.
  • ustaw opcję „ Zakres ” na B2:B.
  • ustaw żądany kolor

Będzie podobnie jak w poprzednim przykładzie, ale działa na wszystkich wierszach, nie tylko na wiersz 5.

Zakresów można również użyć w „Formule niestandardowej to”, dzięki czemu można pokolorować cały wiersz na podstawie ich wartości w kolumnach.

Zig Mandel
źródło
1
Dziękuję Zig za poinformowanie mnie. Jest to przydatne, jednak nie można go po prostu użyć, chyba że skopiuję zawartość starej wersji arkusza kalkulacyjnego do nowej. Dzięki kolego
Mark Magalona,
19
Zrozumiałem, że musisz użyć absolutnego odniesienia. Na przykład „= B5: B10 = 5 $” w forumla, a B5: B10 w zakresie.
Ben
1
@Ben bardzo doceniony. Nie mam pojęcia, jak ktokolwiek to
wymyśli
29
Aby odwołać się do komórki na innym arkuszu: =B2>0.8*indirect("Sheet1!C2")( źródło )
josephdpurcell
1
@Zig Mandel Działa ok, z wyjątkiem komórek sformatowanych jako waluty, po prostu próbuję ukryć (przed / białe tło) zakres komórek, z których niektóre są walutami. Masz pomysł jak? na zdrowie
Tino Mclaren
197

Jeszcze jeden przykład:

Jeśli masz kolumnę od A do D i musisz podświetlić całą linię (np. Od A do D), jeśli B jest „Kompletny”, możesz to zrobić w następujący sposób:

"Custom formula is":  =$B:$B="Completed" 
Background Color:     red 
Range:                A:D

Oczywiście możesz zmienić zakres na A: T, jeśli masz więcej kolumn.

Jeśli B zawiera „Complete”, użyj wyszukiwania w następujący sposób:

"Custom formula is":  =search("Completed",$B:$B) 
Background Color:     red 
Range:                A:D
lucky1928
źródło
2
Dokładnie tego szukałem. Dzięki!
RDT2
8
Nie wydaje się to działać, chyba że podasz $pole „Niestandardowa formuła”. tj. do $B$2:$Band notB2:B
tdk
2
Wystarczy dodać do odpowiedzi lucky1928 - jeśli zmienisz Zakres od A: D do A: T, dodasz więcej kolumn, a nie wierszy / wierszy. Jeśli masz tylko skończoną liczbę wierszy, na których ma działać formatowanie warunkowe, pomocne może być określenie wiersza, np. A2: D13, jeśli masz na przykład wiersz nagłówka. W przeciwnym razie, jeśli pasujesz do czegoś, co jest puste lub nie jest równe określonej wartości, możesz dodawać kolor do wszystkich wierszy, które istnieją w arkuszu, co może nie być tym, czego chcesz.
Tom Bush
Nie mogę powiedzieć, jak długo szukałem tego rozwiązania - szczególnie, że kryterium stanowi wartość tekstowa. Dzięki!
Frances Cherman,
4
Pamiętaj, że „=” na początku formuły jest BARDZO WAŻNE
vy32
18

Użyłem interesującego formatowania warunkowego w moim ostatnim pliku i pomyślałem, że przyda się również innym. Ta odpowiedź ma na celu uzupełnienie poprzednich.

Powinien pokazać, do czego zdolna jest ta niesamowita funkcja, a zwłaszcza jak działa $ rzecz.

Przykładowa tabela

Prosta tabela arkuszy google

Kolor od D do G zależy od wartości w kolumnach A, B i C. Jednak formuła musi sprawdzać wartości, które są ustalone poziomo (użytkownik, początek, koniec) i wartości, które są ustalone pionowo (daty w wierszu 1). Tutaj przydaje się znak dolara.

Rozwiązanie

Tabela zawiera 2 użytkowników, każdy o określonym kolorze, odpowiednio foo (niebieski) i słupek (żółty).
Musimy użyć następujących reguł formatowania warunkowego i zastosować obie z nich w tym samym zakresie ( D2:G3):

  1. =AND($A2="foo", D$1>=$B2, D$1<=$C2)
  2. =AND($A2="bar", D$1>=$B2, D$1<=$C2)

W języku angielskim warunek oznacza:
Użytkownik jest name, a data bieżącej komórki jest późniejsza starti wcześniejszaend

Zwróć uwagę, że jedyną rzeczą, która zmienia się między 2 formułami, jest nazwa użytkownika. To sprawia, że ​​ponowne użycie z wieloma innymi użytkownikami jest naprawdę proste!

Objaśnienia

Ważne : Zmienne wiersze i kolumny odnoszą się do początku zakresu. Ale nie ma to wpływu na ustalone wartości.

Łatwo jest pomylić się z pozycjami względnymi. W tym przykładzie, gdybyśmy użyli zakresu D1:G3zamiast D2:G3, formatowanie kolorów zostanie przesunięte o 1 wiersz w górę.
Aby tego uniknąć, pamiętaj o tym wartość zmiennych wierszy i kolumn powinna odpowiadać początkowi zakresu zawierającego .

W tym przykładzie zakres zawierający kolory jest D2:G3taki, więc początek jest D2.

User, startI endzmieniać się z wierszy
-> Stałe kolumny ABC, zmienne wiersze rozpoczynające się 2: $A2, $B2,$C2

Datesróżnią się w zależności od kolumn
-> Zmienne kolumny zaczynające się od D, stały wiersz 1:D$1

Romain Vincent
źródło
To jest genialne!
Happy Bird
To prawdopodobnie wymaga osobnego postu, ale czy można oprzeć stylizację warunkową na innej komórce? np. jeśli masz osobną tabelę odnośników dla „facetów” i „pasków”, czy można skonfigurować formatowanie warunkowe, aby zastosować kolor fg i kolor bg tej komórki w regule? Jest to coś, czego często potrzebuję, wskaźnik „statusu” dla wiersza, w którym kolory i opcje statusu można łatwo skonfigurować bez ręcznego przeprogramowywania reguł formatowania warunkowego.
Memetican
Możesz to zrobić za pomocą skryptów. Wydaje mi się, że nigdy nie widziałem dynamicznego sposobu wybierania określonych kolorów lub istniejącego formatu podczas normalnego użytkowania. EDYCJA: aby rozpocząć tworzenie skryptów, przejdź do menu Narzędzia> edytor skryptów i zacznij pisać. Ale to zupełnie nowy poziom korzystania z arkuszy ;-)
Romain Vincent
6

Zasadniczo wszystko, co musisz zrobić, to dodać $ jako prefiks przy literze kolumny i numerze wiersza. Zobacz zdjęcie poniżej

wprowadź opis zdjęcia tutaj

Klanjabrik
źródło
1
Dziękuję za zrzut ekranu, bardzo pomógł wyjaśnienia.
B.Adler
3

zmień kolor tła komórki B5 na podstawie wartości innej komórki - C5. Jeśli C5 jest większe niż 80%, wówczas kolor tła jest zielony, ale jeśli jest poniżej, będzie bursztynowy / czerwony.

Nie ma wzmianki, że B5 zawiera jakąkolwiek wartość, więc założenie 80%jest .8sformatowane jako procent bez miejsc po przecinku, a puste pole liczy się jako „poniżej”:

Wybierz B5, kolor „bursztynowy / czerwony” ze standardowym wypełnieniem, a następnie Format - Formatowanie warunkowe ..., Formuła niestandardowa to i:

=C5>0.8

z zielonym nadzieniem i Done.

Przykład reguły CF.

orzechy
źródło
2

Jestem rozczarowany, jak długo zajęło to wypracowanie.

Chcę zobaczyć, które wartości w moim zakresie są poza odchyleniem standardowym.

  1. Dodaj gdzieś odchylenie standardowe do komórki =STDEV(L3:L32)*2
  2. Wybierz zakres do podświetlenia, kliknij prawym przyciskiem myszy, formatowanie warunkowe
  3. Wybierz Formatuj komórki, jeśli jest większy niż
  4. W wartościach i formułach typu skrzynki =$L$32(cokolwiek komórka swoją ODCH.STANDARDOWE jest)

Nie mogłem wymyślić, jak umieścić STDEv w wierszu. Próbowałem wielu rzeczy z nieoczekiwanymi rezultatami.

Nick.McDermaid
źródło
Chcesz wyjaśnić opinię? Lubię tutaj dokumentować własne doświadczenia.
Nieraz
1
dziękuję za odpowiedź, dzięki czemu mogłem robić to, co chciałem :)
Ollie