Bagaimana cara menggunakan formula berbeda jika terjadi kesalahan?

0

Saya ingin menjalankan rumus berikut pada sel, dalam urutan ini, jika rumus sebelumnya mengembalikan kesalahan.

=MID(P2,SEARCH("q=",P2)+2,SEARCH("&",P2)-SEARCH("q=",P2)-2)

=MID(P2,SEARCH("p=",P2)+2,SEARCH("&",P2)-SEARCH("p=",P2)-2)

=RIGHT(P2,LEN(P2)-FIND("q=",P2)-1)

=RIGHT(P2,LEN(P2)-FIND("p=",P2)-1)

Bagaimana saya bisa mendefinisikan ini?

rockyraw
sumber
Tidak jelas apa yang Anda inginkan. Apakah Anda meminta rumus tunggal untuk sel yang mengevaluasi P2 untuk beberapa kondisi dan mengembalikan nilai barang terakhir berdasarkan urutan yang Anda nyatakan?
Tyson
1
Mengapa Anda tidak tetap berpegang pada pertanyaan Anda yang lain . Mengajukan pertanyaan kedua tanpa perincian sebelumnya menyebabkan kebingungan.
Tyson
Bagaimanapun, saya sudah melakukannya dengan beberapa IFERRORdi dalam IFERORR:=IFERROR(MID(R167,SEARCH("q=",R167)+2,SEARCH("&",R167)-SEARCH("q=",R167)-2),IFERROR(MID(R167,SEARCH("p=",R167)+2,SEARCH("&",R167)-SEARCH("p=",R167)-2),IFERROR(RIGHT(R167,LEN(R167)-FIND("q=",R167)-1),IFERROR(RIGHT(R167,LEN(R167)-FIND("p=",R167)-1),zzzzzz))))
rockyraw
Untuk orang lain yang mungkin memiliki jenis masalah yang sama atau orang-orang yang mungkin menghabiskan waktu mencoba untuk menjawab kembali pertanyaan Anda, mengapa Anda tidak memasukkan solusi Anda dan menandainya diselesaikan (Anda diizinkan untuk menjawab pertanyaan Anda sendiri).
fixer1234
Jika pertanyaan Anda terselesaikan, pastikan untuk mengklik tanda centang di sebelah jawaban untuk menunjukkan bahwa jawaban itu sudah dijawab
Raystafarian

Jawaban:

1

Saya sudah melakukannya dengan beberapa IFERROR di dalam sebuah IFERORR:

=IFERROR(MID(R167,SEARCH("q=",R167)+2,SEARCH("&",R167)-SEARCH("q=",R167)-2),IFE‌​RROR(MID(R167,SEARCH("p=",R167)+2,SEARCH("&",R167)-SEARCH("p=",R167)-2),IFERROR(R‌​IGHT(R167,LEN(R167)-FIND("q=",R167)-1),IFERROR(RIGHT(R167,LEN(R167)-FIND("p=",R16‌​7)-1),zzzzzz))))

rockyraw
sumber
Cobalah untuk menguji hanya fungsi yang dapat menghasilkan kesalahan alih-alih menguji seluruh ekspresi. Jadi mungkin Anda bisa "iferror" ekspresi pencarian.
agtoever
0

Menggunakan IFERROR()formula adalah pilihan yang bagus. Namun, Anda harus menghindari menggunakan satu formula besar, itu praktik yang buruk dan jika formula Anda memainkannya akan terlalu besar untuk di-debug. Saya akan memilih ini dalam empat kolom terpisah

A2

=IFERROR(MID(P2,SEARCH("q=",P2)+2,SEARCH("&",P2)-SEARCH("q=",P2)-2),0)

B2

=IF(A2=0,0,MID(P2,SEARCH("p=",P2)+2,SEARCH("&",P2)-SEARCH("p=",P2)-2))

C2

=IF(B2=0,0,RIGHT(P2,LEN(P2)-FIND("q=",P2)-1),0)

D2

=IF(C2=0,0,RIGHT(P2,LEN(P2)-FIND("p=",P2)-1),0)

Dan akhirnya sederhana SUMakan cukup

E2

=SUM(A2:D2)

Anda bisa menyembunyikan / mengelompokkan kolom A ke D , tetapi dengan cara ini Anda bisa melihat bagaimana jawabannya

CallumDA
sumber