2014-04-23 18 views
5

W nowych arkuszach Google dodano niestandardową formułę do formatowania warunkowego. Chcę, aby komórka była niebieska, jeśli komórka ma wartość, a czarna, jeśli jest formułą ... Przejrzałem wszystkie funkcje typu is, nie wydaje się, że jest to rodzaj funkcji.Arkusze Google isformula() równoważne?

Czy ktoś wie, czy jest to możliwe?

Odpowiedz

5

isFormula jest standardową funkcją w nowych Arkuszach Google. Nie musisz implementować swojej.

=isFormula(F2:G5) 
+0

Chociaż przyjęty, nie będzie to działało dla "komórki, która ma być niebieska, jeśli komórka jest wartością i czernią, jeśli jest formułą". – pnuts

0

Nie sądzę, że istnieje funkcja, która może określić, czy zawartość komórki jest wypełniana na podstawie formuły, czy nie. Ale to może być osiągnięte za pomocą małego skryptu

function isformula(cell) { 
    if (cell.getFormula()) { 
    return true; 
    } else { 
    return false; 
    } 
} 

Następnie w formatowania warunkowego można użyć =isformula(A1) i ustawić format, jak chcesz.

PS: Powyższy kod urywek działa tylko dla nowych arkuszy google

+0

Czy przetestować ten mały skrypt, przed wysłaniem? –

+0

tak. najprawdopodobniej nie korzystasz z nowych arkuszy Google. Oto działający link (https://docs.google.com/spreadsheets/d/1ixWdokpFS8mEFe6iKkDJXIb5jnJ7JR6Q0rEc-YPfsLk/edit?usp=sharing) – Konstant

+1

Zmieniłem skrypt na 'wasFormula' i to nie zadziałało !! Myślę, że trafiłeś przypadkowo na nieudokumentowaną nową formułę. Zobacz mój wpis na temat aplikacji internetowych: http://webapps.stackexchange.com/a/63262/29140. Wydaje się, że przekazujesz e.parametr, ale jest to możliwe tylko dla wyzwalaczy, takich jak 'onOpen' lub' onEdit'. –

0

opracować nieco na @ odpowiedź Konstant za ignorując skrypt tam, ale zajęcie niektóre specyfiki pytanie:

SO23237313 example

+0

Każdy powód, dla którego nie używasz 'isblank()' w drugim niestandardowym forumla? –

+0

@MichaelScheper Jeśli masz na myśli, dlaczego nie '= nie (isblank (A1)), ponieważ jest to 17 zamiast 7 znaków i jestem przyzwyczajony do' <> 'i' "" ', więc mniej prawdopodobne, aby popełnić błąd" ortograficzny " od skakania po klawiaturze. Jednak myślę, że będzie działać dokładnie tak samo. – pnuts

3

Wygląda na to, że istnieje ukryta wbudowana funkcja ISFORMULA() z google. Uświadomiłem sobie, kiedy usunąłem swoją funkcję i nadal działałem. Próbowałem go w nowym arkuszu kalkulacyjnym i nadal działa. Brak problemu z pamięcią podręczną.

1

=isFormula(A1) działa teraz, wbudowany (mimo że jest ukryty). (Jak już zostało powiedziane przez @ JuanPérez.)

Dosłowne (wprowadzane przez użytkownika) wartości można testować za pomocą =NOT(OR(isFormula(A1);isBlank(A1))).

stworzyłem arkusz Google z testów/dema: https://docs.google.com/spreadsheets/d/1VZeVSMHbPS8nAx0E4bQlWW9FygPV1R8-nb0i-vKEt3k
wykonać kopię ... poprzez menu pliku, jeśli chcesz się bawić.
Sugestie dotyczące ulepszenia Arkusza są mile widziane!

enter image description here