Saya mencoba menemukan delta di antara dua set angka. Beberapa angka positif, beberapa negatif.
Menggunakan rumus berikut berfungsi sekitar 99% dari waktu:
=IF(I18<0,I18+R18,IF(I18>0,I18-R18))
Namun, kapan I18
dan R18
angka negatif, saya perlu I18-R18
. Saya sudah mencoba banyak IF
AND
pernyataan, tetapi sepertinya tidak bisa melakukan ini dengan benar. Semoga seseorang dapat membimbing saya ke arah yang benar.
microsoft-excel
Dave
sumber
sumber
I18
nol.I18
danR18
angka negatif, saya perluI18-R18
" Apakah Anda yakin maksud Anda ini? Saya pikir Anda ingin delta sebagai perbedaan mutlak. JikaI18
ini-2
danR18
adalah-1
, hasil Anda akan menjadi-1
. Tidakkah Anda menginginkan angka positif dalam semua kasus?=ABS(I18)-ABS(R18)
menghasilkan output yang diinginkan?A+B
jika A dan B adalah nol.Jawaban:
Sepertinya Anda hanya ingin perbedaan (delta) antara
I18
danR18
, dan Anda ingin selalu menjadi positif?Formula ini akan melakukan itu:
=ABS(I18-R18)
Ini akan memberikan jawaban yang benar apakah
I18
positif, negatif atau nol.sumber
IF()
berfungsi dengan benar. Jawaban lain menjawab pertanyaan yang diajukan. Tetapi terkadang, mengambil jalan yang berbeda akan membuat Anda ke tempat yang tepat lebih cepat.Alih-alih memeriksa operan untuk negatif, periksa hasilnya.
sumber
I18>R18
Mari sederhanakan kode asli Anda:
Sekarang Anda mengatakan bahwa ketika X <0 dan Y <0, Anda sebenarnya menginginkan hasilnya X - Y dan bukan X + Y. OKE.
Itu tertulis.
Seperti disebutkan di atas, Anda tidak memiliki kotak nol. Anda mungkin dapat mengubah salah satu komparator LT / GT ke LE / GE dengan hanya menambahkan tanda sama dengan - tergantung pada data dan logika Anda.
sumber
If Y<0 {A} Else {B}
tetapi A dan B identik. Apakah ada kesalahan ketik?Anda dapat menggunakan di bawah ini:
Satu-satunya kelemahan saya dapat melihat dengan ini adalah, apa yang Anda lakukan dalam contoh di mana
I18 = 0
, Anda tidak punya apa-apa untuk ini.Pokoknya jika Anda ingin menambahkan sesuatu untuk itu, lihat di bawah:
sumber
Saya tidak tahu tentang ABS. Saya akan menyarankan
sumber
Ini bekerja untuk saya -> IF (AND (I18 <0, R18 <0), I18-R18, IF (I18 <0, ((R18-I18) * - 1), IF (I18> = 0, I18-R18 )))
Ini mencakup semua skenario: Variabel A | Variabel B + ve | + ve + ve | -ve -ve | + ve -ve | -ve
sumber
+
/-
) adalah sepele, dan menunjukkannya tidak melakukan apa pun untuk memperjelas jawaban Anda. Jika Anda akan memposting jawaban untuk pertanyaan yang tidak jelas seperti ini, ada baiknya menjelaskan pertanyaan apa yang menurut Anda Anda jawab. (2) Apa pun yang Anda lakukan, rumus Anda tampaknya tidak perlu rumit. Menjelaskan apa yang dilakukannya akan sangat membantu. ..... edit jawaban Anda untuk membuatnya lebih jelas dan lebih lengkap.Saya hanya mengalami situasi (mengukur pembacaan Lab warna) di mana saya tidak perlu hanya perbedaan antara x & y tetapi gerakan delta positif atau negatif. Jadi biasanya -5 minus -2 = -3 tetapi ingin menunjukkan bahwa delta sebenarnya berada di arah positif -3 bukan yang saya cari jadi:
= JIKA (A1> B1, ABS (A1-B1) * - 1, ABS (A1-B1))
Sederhananya jika bacaan ke-2 (lebih baru) lebih kecil, saya tahu hasilnya adalah gerakan negatif (jadi * -1) dan telah bergerak lebih jauh ke sisi negatif dari sumbu. Lain jika bacaan ke-2 lebih besar, nilai ABS murni berfungsi mengetahui perbedaannya dalam arah positif.
sumber