ฉันใช้สามคอลัมน์ A, B และ C ในคอลัมน์ CI มีสูตรทุกแถว=A1*(1.6*B1)แล้วสำหรับแถวถัดไปที่ฉันมี=A2*(1.6*B2)ใน C2
ฉันจะทำเช่นนั้นได้อย่างไรโดยไม่ต้องพิมพ์สูตรใหม่ในคอลัมน์ C สำหรับทุกแถว
ฉันใช้ทั้งใน Google Docs SpreadSheet และ OpenOffice SpreadSheet
ฉันใช้สามคอลัมน์ A, B และ C ในคอลัมน์ CI มีสูตรทุกแถว=A1*(1.6*B1)แล้วสำหรับแถวถัดไปที่ฉันมี=A2*(1.6*B2)ใน C2
ฉันจะทำเช่นนั้นได้อย่างไรโดยไม่ต้องพิมพ์สูตรใหม่ในคอลัมน์ C สำหรับทุกแถว
ฉันใช้ทั้งใน Google Docs SpreadSheet และ OpenOffice SpreadSheet
คำตอบ:
"จับ" สี่เหลี่ยมสีเข้มจะปรากฏขึ้นที่มุมขวาล่าง

คลิกและลากที่จับนั้นลากคอลัมน์ลง (หรือข้ามแถว) คุณยังสามารถดับเบิลคลิกที่จับเพื่อเติมอัตโนมัติ

หยุดที่เซลล์สุดท้ายที่คุณต้องการเติม
shift downซ้ำ ๆ เพื่อเลือกช่วงที่เหลือของเซลล์ที่คุณต้องการเติมshiftจากนั้นกดCTRL+ D(ใช้CTRL+ Rหากคุณกรอกข้อมูลทางด้านขวา ) (การใช้วิธีนี้จะรักษาบันทึกย่อซึ่งแตกต่างจากโซลูชันของเมาส์)ในทั้งสองกรณีสิ่งที่คุณกำลังทำอยู่เรียกว่า "การเติม" ได้รับการสนับสนุนโดยโปรแกรมสเปรดชีต (?) ทุกตัว
Ctrl-/ให้กับป๊อปอัพช่วย
⌘-Dคุณต้องใช้ นอกจากนี้ยังผูกพันกับ "สร้างบุ๊กมาร์ก" ใน Chrome แต่ก็ยังใช้งานได้! นอกจากนี้หากคุณกำหนดค่าเซลล์แรกในคอลัมน์คุณสามารถคลิกชื่อคอลัมน์เพื่อเลือกสิ่งทั้งหมดจากนั้นกดCtrl-Dหรือ⌘-Dเพื่อเติม
ทางออกที่ง่ายยิ่งขึ้นใน Google ชีตคือการป้อนสูตรนี้ในC1:
=ARRAYFORMULA(IF(A5:A,A5:A*(1.6*B5:B),""))
มันจะเผยแพร่ไปยังแถวถัดไปโดยอัตโนมัติหากมีการป้อนค่าในคอลัมน์Aทำให้ไม่จำเป็นต้องคัดลอกไปยังแต่ละแถว ในความเป็นจริงถ้าคุณคัดลอกมันก็จะถูกเขียนทับโดยอัตโนมัติต่อเนื่องของสูตรในC2C1
ส่วนที่สำคัญคือ:Aและ:Bที่คุณต้องการรวมคอลัมน์ทั้งหมดเหล่านี้ในสูตรของคุณ ซึ่งหมายความว่าคุณสามารถใช้สูตรเซลล์เดียว=A5*(1.6*B5)กับทั้งคอลัมน์ด้วย:
=ARRAYFORMULA(A5:A*(1.6*B5:B))
โปรดทราบว่าสิ่งนี้ให้ผลลัพธ์ที่ไม่ดีที่ไหนAและBเป็นค่าที่ขาดหายไปดังนั้นเราจึงใส่ไว้ในIF()คำสั่ง (ดูด้านบน) เพื่อแสดงอะไรเมื่อไม่มีค่า คุณสามารถใช้IFERROR()เพื่อจัดการผลลัพธ์ที่ไม่ดี
นี่เป็นอีกวิธีหนึ่งไปข้างหน้าและลบสูตรทั้งหมดที่อยู่ในนั้นทันทีจากนั้นพิมพ์สูตรใน C1 โดยสอดคล้องกับ A1 และ B1 และกด Enter
ดังนั้นตอนนี้สูตรที่ถูกต้องอยู่ใน C1,
ตอนนี้คลิกที่กล่อง C1, กล่อง bounding จะปรากฏขึ้น, มุมล่างขวาของกล่อง bounding นี้มีสี่เหลี่ยมมืด,
ดับเบิลคลิกสี่เหลี่ยมนี้และสูตรจะ 'เติม'
คุณจะสังเกตเห็น C2 สอดคล้องกับ A2 และ B2 และอื่น ๆ
หากนี่คือสิ่งที่คุณต้องการและฉันเข้าใจถูกต้อง
คำตอบที่แนะนำนั้นใช้งานได้ดีสำหรับกระดาษขนาดเล็ก แต่ฉันมีหลายพันแถวและการใช้เมาส์หรือแป้นพิมพ์เพื่อเลือกพวกเขาใช้เวลานานเกินไป
วิธี ARRAYFORMULA ใช้งานได้ แต่มีความซับซ้อนบังคับให้ฉันเขียนสูตรสูตรใหม่และพิจารณาข้อผิดพลาดที่อาจเกิดขึ้นได้)
วิธีแก้ปัญหานั้นง่ายมากที่สามารถทำได้ใน 2 วินาที:
ฉันพบว่าโซลูชันเหล่านี้น่าผิดหวังและสับสนมาก
ฉันจะเตือนคุณว่าสิ่งนี้จะแทนที่สิ่งที่อยู่ในเซลล์ในปัจจุบัน แต่เนื่องจากเป็นสูตรที่ไม่น่าจะมีปัญหา
สำหรับฉันมันง่าย
นี่จะใส่สูตรอัปเดตกับแต่ละเซลล์ตามการอ้างอิง
หลังจากที่คุณเขียน forumla ของคุณคุณสามารถดับเบิลคลิกที่ด้านล่างมุมขวาของเซลล์ที่เลือกด้วยกล่องสีน้ำเงินเพื่อคัดลอกข้อมูลลงในคอลัมน์ลงตราบใดที่เซลล์เพื่อนบ้านมีข้อมูล
สิ่งนี้ช่วยประหยัดเวลาได้มากเมื่อคุณมีแผ่นงาน 7,000 แถวที่คุณใช้งาน
ป.ล. ฉันกำลังทำงานใน OpenOffice และตอนนี้ฉันเห็นว่ามันทำงานได้โดยเพียงแค่คัดลอกเนื้อหาของเซลล์และวางลงในเซลล์อื่น สูตรจะถูกปรับโดยอัตโนมัติในแต่ละแถว! (เพื่อหลีกเลี่ยงคำนำหน้าการปรับอัตโนมัติชื่อของหมายเลขแถวและหมายเลขคอลัมน์ด้วย $)
คุณสามารถเลือกคอลัมน์ C =A1*(1.6*B1)สมบูรณ์โดยการเลือกส่วนหัวและวางสูตร มันจะใช้กับทุกแถว
ไม่จำเป็นต้องเลือกและลากเพื่อคัดลอกไปยังทุกเซลล์
คล้ายกับคำตอบของ ceoliphant แต่ตรงไปตรงมาเล็กน้อยเพิ่มเพียงหนึ่งสูตรใน C1:
=ARRAYFORMULA(iferror(A:A*B:B*1.6))