Cara memasukkan beberapa pernyataan IF dalam satu sel di Google Sheets

17

Saya mencoba mengubah nilai sel di Google Sheets berdasarkan nilai sel yang berdekatan. Sel yang berdekatan ini mendapatkan nilainya dari warna sel yang berdekatan dengannya menggunakan rumus dari jawaban Quora ini . Jadi nilai sel harus berubah berdasarkan kode hex yang diperoleh dari warna sel pertama. Ada empat kemungkinan nilai hex saat ini jadi saya mencoba untuk menempatkan empat pernyataan IF yang berbeda di sel yang sama, jadi nilainya diubah berdasarkan ini.

Upaya pertama saya menyebabkan kesalahan parse rumus:

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

Jelas Anda tidak bisa begitu saja memisahkan pernyataan dengan koma. Berdasarkan ini Stack Overflow pertanyaan saya mencoba kode ini, dengan bersarang IF pernyataan:

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

Ini juga menyebabkan kesalahan parse rumus.

Apakah ada cara saya bisa dengan mudah memasukkan beberapa pernyataan IF dalam sel yang sama yang akan bekerja untuk kode saya?

Jack Graveney
sumber
Bisakah Anda menggabungkannya menjadi = ATAU atau yang serupa?
AccioBooks

Jawaban:

19

Gunakan lookupsebagai ganti if:

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

Perhatikan bahwa parameter kedua harus berupa daftar yang diurutkan.

daniel
sumber
1
Perhatikan bahwa ini tidak berfungsi jika item dalam argumen ke-3 adalah ekspresi
Christiaan Westerbeek
1
Perhatikan bahwa larik pertama (larik "kunci") harus diurutkan (itu berfungsi ketika saya disortir menurut abjad secara menaik) agar dapat berfungsi sebagaimana dimaksud.
fgblomqvist
@ChristiaanWesterbeek, apakah ada cara untuk mengatasi ini, atau Anda hanya perlu menggunakan nested ifs?
Andrew
23

Jawaban singkat

Masalah dalam contoh yang diberikan adalah tanda kurung. Terapkan dengan benar.

Penjelasan

IF() fungsi harus memiliki dua parameter dan opsional yang ketiga.

IF(logical_expression, value_if_true, value_if_false)

Masalah khusus dengan

  • contoh pertama yang diberikan adalah bahwa bagian luar IF()memiliki terlalu banyak parameter.
  • contoh kedua adalah bahwa logical_expressionbagian luar IF()tidak kembali TRUEatauFALSE

Di Google Sheets, parameter fungsi dipisahkan dengan koma (atau titik koma jika spreadsheet Anda menggunakan koma sebagai pemisah desimal). Ketika tanda kurung digunakan untuk melampirkan beberapa operasi dan fungsi di dalam suatu fungsi mereka dianggap sebagai parameter dari fungsi yang mengandung mereka.

Praktik umum adalah menempatkan batin IF()sebagai value_if_false, tetapi itu bisa dilakukan dengan banyak cara. Menambahkan IF()di dalam yang lain sebagai value_if_truedan value_if_falsedisebut IF() logical test nestingatau adil IF() nesting.

Di bawah ini adalah contoh rumus yang memiliki tiga IF(), dua di antaranya digunakan untuk menentukan rumus value_if_falseinduknya IF(). Penyelarasan multi-line dan vertikal gaya kurung diterapkan untuk keterbacaan

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

Gaya di atas dapat digunakan dalam penulisan rumus Google Sheets. Saya menemukan ini berguna untuk debugging rumus.

Referensi

Rubén
sumber
1
Sangat berguna, terutama sampel multiline yang diformat - membuatnya lebih mudah dipahami dan diimplementasikan.
Lukas
4

Saya baru tahu cara menggabungkan jika dan atau.

Contoh:

=IF(OR(B3>49,C3>49,D3>49),”Passed”,”Failed”)
=IF(AND(B3>49,C3>49,D3>49),”Passed”,”Failed”)
=IF(OR(AND(B3>49,C3>49),AND(B3>49,D3>49),AND(C3>49,D3>49)),”Won”,”Failed”)

Jadi untuk contoh Anda:

= if(OR(J2="#00ff00",j2="#ff0000",j2="#ff9900"),"True","False")

Sumber: Penggunaan Gabungan dari Fungsi IF, AND, OR Logical dalam Google Doc Spreadsheet .

Geoffrey Derry
sumber
1

Misalnya, Anda dapat membuat pernyataan IF

If(if(if(when all 3 equal true)))

Akan bekerja

ATAU

Anda bisa menggunakan IFAND bersarang misalnya

IF(AND(AND()))

Juga akan bekerja.

TeknisTophat
sumber
Fungsi IF () membutuhkan setidaknya dua parameter. Lihat webapps.stackexchange.com/a/89068/88163
Rubén
1

Anda telah ditawari teori dan pendekatan yang lebih baik tetapi untuk menjawab secara khusus:

Apakah ada cara saya bisa dengan mudah memasukkan beberapa pernyataan IF dalam sel yang sama yang akan bekerja untuk kode saya?

silakan coba:

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

Yaitu, percobaan kedua Anda tanpa tanda kurung pembuka pertama dan tanpa tanda kurung penutupan terakhir.

kacang
sumber