Google E-Tablolar'daki bir hücreye birden çok IF ifadesi nasıl eklenir


17

Google E-Tablolar'daki bir hücrenin değerini, bitişik bir hücrenin değerine göre değiştirmeye çalışıyorum. Bu bitişik hücre değerini, bu Quora cevabındaki formülü kullanarak kendisine bitişik hücrenin renginden alır . Bu nedenle, hücrenin değeri, ilk hücrenin renginden elde edilen onaltılı koda göre değişmelidir. Şu anda dört olası onaltılık değer vardır, bu yüzden aynı hücreye dört farklı IF ifadesi koymaya çalışıyordum, bu yüzden değeri buna göre değiştirildi.

İlk denemem bir formül ayrıştırma hatasına yol açtı:

=if((J2="#00ff00","Read"), if(j2="#ff0000", "Unread"), if(j2="#ff9900","In Progress"), if(j2="#000000", "Not Applicable"))

Eğer virgül içeren ifadeleri basitçe ayıramazsınız. Bu yığın taşması sorusuna dayanarak iç içe IF deyimleri ile bu kodu denedim:

=if((J2="#00ff00","Read", if(j2="#ff0000", "Unread", if(j2="#ff9900","In Progress",if(j2="#000000", "Not Applicable")))))

Bu aynı zamanda bir formül ayrıştırma hatasına yol açar.

Sadece benim kod için çalışacak aynı hücreye birden fazla IF deyimleri dahil etmek herhangi bir yolu var mı?


Bunları bir = VEYA veya benzeri bir şeyde birleştirebilir misiniz?
AccioBooks

Yanıtlar:


19

Şunun lookupyerine kullanın if:

=lookup(B7,
       {"#000000","#00ff00","#ff0000","#ff9900"},
       {"Not applicable", "Read","Unread","In Progress"}
  ) 

İkinci parametrenin sıralı bir liste olması gerektiğini unutmayın.


1
Üçüncü argümandaki öğeler ifade ise bunun işe yaramadığını unutmayın
Christiaan Westerbeek

1
İlk dizinin ("anahtar" dizisi) amaçlandığı şekilde çalışması için sıralanması (benimki alfabetik olarak arttığında işe yaradı) gerektiğini unutmayın.
fgblomqvist

@ChristiaanWesterbeek, bunun bir yolu var mı, yoksa iç içe ifsmi kullanmanız gerekiyor ?
Andrew

23

Kısa cevap

Sunulan örneklerdeki problem parantezdir. Onları düzgün bir şekilde uygulayın.

açıklama

IF() işlevi iki parametreye ve isteğe bağlı olarak üçüncü parametreye sahip olmalıdır.

IF(logical_expression, value_if_true, value_if_false)

İle ilgili özel sorun

  • sağlanan ilk örnek, dış IF()kısımda çok fazla parametre bulunmasıdır.
  • ikinci örnek, logical_expressiondış IF()kısmın dönmemesi TRUEveyaFALSE

Google E-Tablolar'da işlev parametreleri virgülle (veya e-tablonuzda ondalık ayırıcı olarak virgül kullanılıyorsa noktalı virgül) ayrılır. Parantez bir işlev içindeki birçok işlemi ve işlevi kapsamak için kullanıldığında, bunları içeren işlevin bir parametresi olarak kabul edilir.

Yaygın bir uygulama iç koymaktır IF()olarak value_if_false, ancak birçok yönden yapılabilir. Ekleme IF()gibi başka diğer iç value_if_trueve value_if_falsedenir IF() logical test nestingya da sadece IF() nesting.

Aşağıda, ebeveyni IF()belirlemek için üç , ikisi kullanılan bir formül örneği verilmiştir . Okunabilirlik için parantez stilinin çok satırlı ve dikey hizalaması uygulanırvalue_if_falseIF()

 =IF(logical_expression, value_if_true, 
     IF(logical_expression, value_if_true, 
        IF(logical_expression, value_if_true, value_if_false
          )
       )
    )

Yukarıdaki stil Google E-Tablolar formül yazımında kullanılabilir. Formül hata ayıklama için yararlı buldum.

Referans


1
Çok kullanışlı, özellikle biçimlendirilmiş çok satırlı örnek - anlaşılmasını ve uygulanmasını çok daha kolay hale getirdi.
Luke



1

Size teori ve daha iyi yaklaşımlar teklif edildi, ancak özellikle:

Sadece benim kod için çalışacak aynı hücreye birden fazla IF deyimleri dahil etmek herhangi bir yolu var mı?

deneyin lütfen:

=if(J2="#00ff00","Read", if(J2="#ff0000", "Unread", if(J2="#ff9900","In Progress",if(J2="#000000", "Not Applicable"))))

Yani, ilk açılış parantezi olmadan ve son kapanış parantezi olmadan ikinci denemeniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.