Masukkan dua rumus Excel bersama-sama

0

Saya memiliki beberapa data tertentu di sheet1 dan beberapa data lain di sheet2.

Saya perlu membandingkan nilai spesifik (Var1) dari sheet1 dan mengembalikan nilai spesifik dari sheet2, dan mengembalikan output untuk hal yang sama. Saya berhasil melakukannya dengan formula ini

=IF(COUNTIF(Sheet2!A:A, A2), "Yes", "No")

Sheet1

+------+------+---------+---------+
| var1 | var2 | result1 | result2 |
+------+------+---------+---------+
|      |      |         |         |
| abc  |  123 | yes     | yes     |
|      |      |         |         |
| bcd  |  234 | yes     | no      |
|      |      |         |         |
| cde  |  456 | no      | blank   |
+------+------+---------+---------+

Sheet2

+-------+-------+-------+
| List1 | List2 | List3 |
+-------+-------+-------+
| abc   |   123 |       |
| bcd   |       | 123   |
| def   |       |       |
+-------+-------+-------+

Saya perlu mencari var1 di list1, dan var2 di list2 dan list3

Saya ingin membandingkan nilai lain (Var2) di Sheet2, hanya jika hasil sebelumnya adalah "Ya", yang dapat dengan mudah dicapai dengan fungsi IF; tetapi tangkapannya adalah ia harus membandingkan nilai hanya dari baris spesifik Sheet2, yang harus ditambah (+) dan minus (-) 2 baris dari tempat Var1 ditemukan di Sheet2.

Saya tidak mahir dalam VBA, tetapi saya telah mencoba tangan saya di rumus Excel.

Pratik
sumber
Tolong, pertimbangkan untuk menambahkan pertanyaan pada sepotong data yang Anda miliki (baik untuk sheet 1 dan sheet2). Kemudian, pilih satu sel tertentu di sheet1 dan berikan 1 contoh tentang bagaimana seharusnya output pada akhirnya.
Berapa kali nilai A2 dapat muncul di Sheet2? Juga, apakah +/- 2 baris dari var1 harus menjadi look_up_range untuk kriteria kedua?
@AndreSilva Termasuk sebuah contoh
@ 666bytes A2 adalah kunci sheet dan unik di keduanya.
@ 666bytes Ya. +/- 2 baris dari var1 harus menjadi look_up_range untuk kriteria kedua Anda

Jawaban:

0

Ini menyenangkan untuk dipecahkan :)

Menggunakan contoh Anda, saya menempatkan fungsi ini di C2 (di bawah 'result1'), dan lengkapi dengan array:

=IF(COUNTIF(Sheet2!A:A,A2),"Yes","No")

Dan untuk D2 di bawah 'result2':

=IF(C2="No","No",IF(COUNTIF(INDIRECT("Sheet2!C"&MAX((MATCH(A2,Sheet2!A:A)-2),1)&":C"&(MATCH(A2,Sheet2!A:A)+2)),B2),"Yes","No"))

Sekali lagi, array mengisinya, dan seharusnya berfungsi :)

Collin Grady
sumber
Bekerja seperti pesona !!! Terima kasih!! Belajar banyak!!
Pratik
Bagus sekali. Saya mencoba menghindari tidak langsung jika memungkinkan, karena Anda harus memperbarui formula ketika, misalnya, memasukkan kolom ke kiri atau mengganti nama lembar kerja Anda.
maybeWeCouldStealAVan
0

Anda dapat menggunakan OR () dan membandingkan jika Anda memiliki plus dan minus. Sesuatu seperti ini:

=IF(OR(A1="+";A1="-");"Ok";"")

Kemudian Anda dapat mengubah "Oke" untuk formula Anda.

=IF(OR(A1="+";A1="-");=IF(COUNTIF(Sheet1!C:C, A2), "Yes", "No");"")

Apakah ini yang kamu butuhkan?

Makah
sumber
Pertanyaan saya cukup samar, maaf soal itu. Diedit untuk kejelasan lebih lanjut.
0

Mencoba: =IF(C2<>"Yes","",IF(COUNTIF(OFFSET(Sheet2!$B$1:$C$5,MAX(0,MATCH(A2,Sheet2!A:A,0)-3),0),B2)>0,"Yes","No"))

Saya berasumsi bahwa:

  • var1 adalah kunci unik, seperti yang Anda katakan. Kalau tidak, ini hanya akan cocok dengan kejadian pertama.
  • Anda ingin mencocokkan var2 di kedua list1 dan list2. Jika tidak, Anda harus mempersempit jendela pencarian $B$1:$B$5. Jika ada lebih banyak daftar di sebelah kanan, cukup tambahkan kolom ke jendela pencarian.

Beri tahu saya jika Anda memiliki pertanyaan tentang cara kerjanya.

maybeWeCouldStealAVan
sumber
Bekerja seperti pesona !!! Terima kasih!! Belajar banyak!!
Pratik