ฉันต้องการทราบวิธีการให้สูตรย่อสำหรับสูตรแบบยาวต่อไปนี้ในแผ่นงาน Excel:
= (A1*A6)+(B1*B6)+(C1*C6)...
ฉันจะใช้ฟังก์ชันผลรวมหรือมีฟังก์ชันอื่นสำหรับสิ่งนี้หรือไม่ ฉันคิดว่าการใช้โคลอนกับSUM
ฟังก์ชั่นน่าจะช่วยได้ แต่ฉันไม่รู้ว่าจะใช้ยังไง
ฉันต้องการทราบวิธีการให้สูตรย่อสำหรับสูตรแบบยาวต่อไปนี้ในแผ่นงาน Excel:
= (A1*A6)+(B1*B6)+(C1*C6)...
ฉันจะใช้ฟังก์ชันผลรวมหรือมีฟังก์ชันอื่นสำหรับสิ่งนี้หรือไม่ ฉันคิดว่าการใช้โคลอนกับSUM
ฟังก์ชั่นน่าจะช่วยได้ แต่ฉันไม่รู้ว่าจะใช้ยังไง
คำตอบ:
คุณกำลังมองหาฟังก์ชั่นSUMPRODUCT
=SUMPRODUCT(A1:C1,A6:C6)
นี่จะส่งคืนผลรวมของผลิตภัณฑ์ของรายการที่เกี่ยวข้องในสองช่วง (หรือมากกว่า)
อย่างที่คุณเห็นจากเอกสาร Microsoft ที่ฉันเชื่อมโยงช่วงไม่จำเป็นต้องเป็นแถวเดี่ยวหรือคอลัมน์เดียว (แม้ว่าจะต้องมีขนาดเท่ากัน)
SUMPRODUCT สามารถคูณค่าจากช่วงที่แตกต่างกันได้ถึง 255 ช่วง ยกตัวอย่างเช่นเป็นเช่นเดียวกับ=SUMPRODUCT(A1:C1,A6:C6,A11:C11)
=A1*A6*A11+B1*B6*B11+C1*C6*C11
SUM
ฟังก์ชั่นจะไม่ทำงานเพราะมันเพิ่งเพิ่มองค์ประกอบ คุณต้องคูณค่าก่อนส่งผ่านไปยัง SUM เช่น=SUM(A1*A6, B1*B6, C1*C6, D1*D6, E1*E6)
แน่นอนคุณยังสามารถใช้=A1*A6 + B1*B6 + C1*C6 + D1*D6 + E1*E6
ผลลัพธ์ที่มีความพยายามในการพิมพ์เช่นเดียวกับSUM
มีวิธีแก้ปัญหาที่ดีกว่ามากมาย วิธีหนึ่งคือการใช้สูตรอาร์เรย์ คุณสามารถดูตัวอย่างที่แน่นอนของคุณได้:
ไวยากรณ์สูตรอาร์เรย์
โดยทั่วไปสูตรอาร์เรย์ใช้ไวยากรณ์สูตรมาตรฐาน พวกเขาทั้งหมดเริ่มต้นด้วยเครื่องหมายเท่ากับ (=) และคุณสามารถใช้ฟังก์ชัน Excel ในตัวส่วนใหญ่ในสูตรอาร์เรย์ของคุณ ความแตกต่างที่สำคัญคือเมื่อใช้สูตรอาร์เรย์คุณกดCtrl+ Shift+ Enterเพื่อป้อนสูตรของคุณ เมื่อคุณทำเช่นนี้ Excel จะล้อมรอบสูตรอาร์เรย์ของคุณด้วยเครื่องหมายวงเล็บ - หากคุณพิมพ์วงเล็บปีกกาด้วยตนเองสูตรของคุณจะถูกแปลงเป็นสตริงข้อความและจะไม่ทำงาน
ฟังก์ชัน Array เป็นวิธีที่มีประสิทธิภาพมากในการสร้างสูตรที่ซับซ้อน สูตรอาร์เรย์
=SUM(C2:C11*D2:D11)
เหมือนกันกับสิ่งนี้:=SUM(C2*D2,C3*D3,C4*D4,C5*D5,C6*D6,C7*D7,C8*D8,C9*D9,C10*D10,C11*D11).
หากต้องการใช้สูตรอาร์เรย์ในกรณีของคุณคุณสามารถพิมพ์ (แน่นอนคุณต้องเปลี่ยนองค์ประกอบสุดท้ายของอาร์เรย์ตามลำดับ)
=SUM(A1:E1*A6:E6)
จากนั้นกดCtrl+ Shift+Enter
สูตร Array เป็นเครื่องมือที่ทรงพลังมาก อย่างไรก็ตามใช้ด้วยความระมัดระวัง ทุกครั้งที่คุณต้องแก้ไขมันคุณต้องไม่ลืมกดCtrl+ Shift+Enter
เหตุใดจึงต้องใช้สูตรอาร์เรย์
หากคุณมีประสบการณ์ในการใช้สูตรใน Excel คุณรู้ว่าคุณสามารถดำเนินการที่ค่อนข้างซับซ้อนได้ ตัวอย่างเช่นคุณสามารถคำนวณต้นทุนรวมของเงินกู้ในจำนวนปีที่กำหนด คุณสามารถใช้สูตรอาร์เรย์เพื่อทำงานที่ซับซ้อนเช่น:
นับจำนวนอักขระที่อยู่ในช่วงของเซลล์
รวมเฉพาะตัวเลขที่ตรงตามเงื่อนไขบางประการเช่นค่าต่ำสุดในช่วงหรือตัวเลขที่อยู่ระหว่างขอบเขตบนและล่าง
รวมทุกค่าที่ n ในช่วงของค่า
สูตรอาร์เรย์ยังมีข้อดีเหล่านี้:
ความสอดคล้อง:หากคุณคลิกเซลล์ใด ๆ จาก E2 ลงมาคุณจะเห็นสูตรเดียวกัน ความสอดคล้องนั้นสามารถช่วยรับรองความถูกต้องได้มากขึ้น
ความปลอดภัย:คุณไม่สามารถเขียนทับส่วนประกอบของสูตรอาร์เรย์หลายเซลล์ได้ ตัวอย่างเช่นคลิกเซลล์ E3 และกดลบ คุณต้องเลือกทั้งช่วงของเซลล์ (E2 ถึง E11) และเปลี่ยนสูตรสำหรับอาร์เรย์ทั้งหมดหรือปล่อยให้เป็นไปตามที่ต้องการ เพื่อเป็นการเพิ่มมาตรการด้านความปลอดภัยคุณต้องกดCtrl+ Shift+ Enterเพื่อยืนยันการเปลี่ยนแปลงสูตร
ขนาดไฟล์ที่เล็กลง:คุณมักจะสามารถใช้สูตรอาเรย์เดี่ยวแทนหลายสูตรกลางได้ ตัวอย่างเช่นเวิร์กบุ๊กใช้สูตรอาร์เรย์หนึ่งสูตรเพื่อคำนวณผลลัพธ์ในคอลัมน์ E หากคุณใช้สูตรมาตรฐาน (เช่น = C2 * D2, C3 * D3, C4 * D4 …) คุณจะต้องใช้สูตร 11 สูตรในการคำนวณ ผลลัพธ์เดียวกัน
นอกจากนี้ยังเร็วกว่าเนื่องจากรู้จักรูปแบบการเข้าถึง ตอนนี้แทนที่จะทำการคำนวณที่แตกต่างกัน 11 แบบแยกกันมันสามารถทำให้เป็นแบบเวกเตอร์และทำแบบขนานโดยใช้หลายแกนและหน่วย SIMD ใน CPU
MOD
) จะทำให้SUMPRODUCT
แตกและจากนั้นคุณต้องแทนที่ด้วยสูตร Array ไม่ต้องพูดถึง Office ทุกเวอร์ชันที่วางจำหน่ายมีการเพิ่มสูตร Array Formation ที่ใช้กันอย่างเป็นทางการ (เช่นMAXIFS
ในปี 365) หากสูตรอาเรย์ของคุณช้า clunky และทำลายคุณอาจต้องปรับโค้ดให้เหมาะสม และแน่นอน - เนื่องจาก PowerQuery เป็นส่วนเสริมเพิ่มเติมเพิ่มเติม บริษัท จำนวนมากจะ (รวมถึงเหตุผลต่าง ๆ ) ไม่รวมไว้ในแพ็คเกจการสร้างองค์กรของพวกเขาทำให้เป็นโซลูชันที่ด้อยกว่าสำหรับจุดประสงค์ทางธุรกิจแบบกระจาย
อีกวิธีคือใส่นิพจน์ = A1 * A6 ใน A7 และคัดลอกไปให้ไกลที่สุดเท่าที่คุณต้องการจากนั้นรวมแถว $ 7 $ เพื่อรับคำตอบสุดท้าย มันไม่ได้ทำในเซลล์เดียวอย่างที่คุณต้องการ แต่บางครั้งการมีผลิตภัณฑ์ระดับกลางนั้นมีประโยชน์ ฉันใช้ทั้งสองเวอร์ชันแล้ว อันนี้ให้ความรู้สึกดีกับฉันมากกว่า Excel แต่รสชาติของคุณอาจแตกต่างกัน
หากคุณใส่รายการตัวเลขในคอลัมน์แทนที่จะเป็นแถว (พูดสองคอลัมน์ A และ B) คุณสามารถใช้ฟังก์ชัน = Sumproduct (A: A, B: B) เช่นนั้น มันจะให้ผลคูณของจำนวนมากเท่าที่มีในคอลัมน์ A และ B
คุณสามารถใช้คอลัมน์ได้มากในฟังก์ชั่น Sumproduct ตามที่คุณต้องการ
หากไม่มีสิ่งใดในแถว 1 และ 6 นอกเหนือจากที่คุณต้องการมีSUMPRODUCT()
ไว้สำหรับคุณสามารถใช้แนวคิดที่กล่าวถึงในความคิดเห็นนี้ ในกรณีของคุณตามที่ระบุไว้ในคำถามของคุณคุณจะใช้=SUMPRODUCT(1:1,6:6)
SUMPRODUCT(1:1,2:2)
และฉันได้ให้คำตอบตามความคิดเห็นนั้นโดยละเอียดว่าจะสามารถใช้งานได้อย่างไรตามคำถามเดิมและข้อ จำกัด ที่จะเกิดขึ้น