ทำการคำนวณแบบเซลล์ต่อเซลล์


0

เป็นไปได้หรือไม่ที่จะคำนวณในแต่ละเซลล์

ฉันกำลังพยายามเพิ่มค่าในช่วงของคอลัมน์ E10:E610 ที่อยู่ระหว่าง 11,538 ถึง 34,760 แล้วคำนวณ 5.6 เปอร์เซ็นต์ อย่างไรก็ตามเพื่อให้สมดุลกับเอกสารอื่นฉันจะต้องค้นหา 5.6 เปอร์เซ็นต์ของตัวเลขแต่ละตัวในช่วงนั้น

ทำไม? ไฟล์ที่ฉันควรจะรักษาความสมดุลด้วยการคำนวณและการปัดเศษตัวเลขแต่ละตัวดังนั้นการคำนวณของฉันจึงออกไปเล็กน้อย ตัวอย่างเช่น 5.6% ของ 23,726 คือ 1,328.6 และถูกปัดเศษเป็น 13,327 ถ้าฉันมี 5 ครั้งของ 23,726 ในไฟล์ปัจจุบันของฉันผลลัพธ์จะเป็น 6,643.28 เนื่องจาก Excel จะเพิ่ม 1,328.6 ห้าครั้งแล้วหา 5.6%

อย่างไรก็ตามการปัดเศษเป็นรายบุคคลจะส่งผลให้ 6,645 ความช่วยเหลือใด ๆ

=ROUND(IF(J5="Yes",SUMPRODUCT((E10:I610>11538)*(E10:I610<=34760)*(A10:A610="No")‌​,E10:I610)*0.056+(COUNTIF(E10:I610,">34760")*34760)*0.056,""),0)

ฉันเพิ่งตระหนักว่าการปัดเศษได้ทำขึ้นกับผลรวมทั้งหมดแล้ว ฉันสามารถคำนวณต่อเซลล์และรอบต่อเซลล์ได้ด้วยไหม

บางทีฉันต้องใช้ VBA ...


ทำไม 1,328.6 ควรกลายเป็น 13327 .. ทำไมไม่ 13,328 หรือ 13,329
matzone

คำตอบ:


2

วิธีหนึ่งในการปัดเศษตัวเลขในแต่ละช่วงคือใช้สูตรอาร์เรย์

นี่คือตัวอย่างง่ายๆ คอลัมน์ A: ฉันแสดงผลลัพธ์ของการปัดเศษแต่ละรอบของแต่ละจำนวนด้วยปัจจัย. 056 แล้วเพิ่มผลลัพธ์ของผลิตภัณฑ์ที่ปัดเศษขึ้น

เซลล์ M7 แสดงผลลัพธ์เดียวกันโดยใช้หนึ่งสูตร: =SUM(ROUND(K4:L6*.056,0)) อย่างที่คุณเห็น ROUND function มีอาร์กิวเมนต์แรกเป็นผลคูณของช่วงทั้งหมดของตัวเลขด้วย. 056 โดยที่ 0 เป็นวินาที (ข้อผิดพลาดในการปัดเศษสำหรับตัวอย่างเล็ก ๆ นี้มีค่าประมาณ 0.8) เนื่องจากสูตรอาร์เรย์จะต้องป้อนนิพจน์ด้วย CTRL - เปลี่ยน - เข้าสู่ การรวมกันที่สำคัญ

enter image description here

ในขณะที่สูตรของคุณมีความซับซ้อนมากขึ้นวิธีการเดียวกันนี้ยังสามารถใช้ได้แม้ว่าจะไม่สามารถใช้งานได้ SUMPRODUCT ตามที่คุณมี คุณจะใช้ SUM แทน. (ดูที่ `SUMPPRODUCT (.... ) *. 056 ชิ้นฉันอาจจะทำอะไรบางอย่าง

=SUM((E10:I610>11538)*(E10:I610<=34760)*(A10:A610="No")*ROUND(E10:I610*0.056,0)) 

ว้าวเรื่องนี้ดูเหมือนจะใช้ได้กับส่วนรวมตอนนี้ฉันจะเพิ่มในคำสั่ง countif ของฉันได้อย่างไร เหตุผลสำหรับการนับคือสำหรับจำนวนทั้งหมดมากกว่า 34760 พวกเขาควรจะเท่ากับ 34760 ดังนั้นฉันวาง countif แล้วคูณจำนวนด้วย 34760 แล้วหาเปอร์เซ็นต์ของสูตรนั้นและเพิ่มลงในสูตรที่เหลือ . ตัวอย่างเช่นถ้าในเซลล์ที่ฉันมีสองเหตุการณ์ที่เกิดขึ้น 40000 เหล่านั้นจะนับเป็น (2 * 34760) * 0.056 ฉันจะเพิ่มสิ่งนี้และคำสั่ง if ในสูตรที่คุณสร้างได้อย่างไร

ลองทำดังนี้: + SUM ((E10: I610 & gt; 34760) * รอบ (34760 * 0.056,0) หากฉันติดตามสูตรของคุณคุณจะยังคงมี IF (J5 = "ใช่", .... , 0) คร่อมการรวมภาพ
chuff

คุณเป็นคนขี้โกง โปรดติดตามเพื่อนที่ทำงานที่ดี อีกครั้ง ... ขอบคุณหนึ่งล้าน

คุณรู้ว่าฉันรู้ว่างานนี้ แต่ไม่ได้จัดการเพื่อตั้งค่าที่ถูกต้องคุณสามารถเขียนสูตรทั้งหมดรวมทั้งส่วน IF (J5 = "ใช่", .. ) โปรด นั่นจะเป็นความช่วยเหลือที่ดี

1
ดูว่าใช้งานได้หรือไม่: = IF (J5 = "YES", SUM ((E10: I610 & gt; 11538) * (E10: I610 & lt; = 34760) * (A10: A610 = "ไม่") * รอบ (E10: I610 * 0.056 , 0)) + SUM ((E10: I610 & gt; 34760) * ROUND (34760 * 0.056,0)), 0)
chuff
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.