วิธีสร้างสูตรสำหรับทุกแถวในคอลัมน์ใน Google SpreadSheet


76

ฉันใช้สามคอลัมน์ A, B และ C ในคอลัมน์ CI มีสูตรทุกแถว=A1*(1.6*B1)แล้วสำหรับแถวถัดไปที่ฉันมี=A2*(1.6*B2)ใน C2

ฉันจะทำเช่นนั้นได้อย่างไรโดยไม่ต้องพิมพ์สูตรใหม่ในคอลัมน์ C สำหรับทุกแถว

ฉันใช้ทั้งใน Google Docs SpreadSheet และ OpenOffice SpreadSheet

คำตอบ:


89

การใช้เม้าส์

  1. คลิกเซลล์ที่มีสูตรที่คุณต้องการทำซ้ำ
  2. "จับ" สี่เหลี่ยมสีเข้มจะปรากฏขึ้นที่มุมขวาล่าง

    ตำแหน่งของ Drag box

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

    ลากกล่อง

  4. หยุดที่เซลล์สุดท้ายที่คุณต้องการเติม

การใช้งานคีย์บอร์ด

  1. เลื่อนเคอร์เซอร์ไปยังเซลล์ที่มีสูตรที่คุณต้องการทำซ้ำ
  2. ถือ shift
  3. ขณะถือครองกดdownซ้ำ ๆ เพื่อเลือกช่วงที่เหลือของเซลล์ที่คุณต้องการเติม
  4. เมื่อถึงด้านล่างให้ปล่อยshiftจากนั้นกดCTRL+ D(ใช้CTRL+ Rหากคุณกรอกข้อมูลทางด้านขวา ) (การใช้วิธีนี้จะรักษาบันทึกย่อซึ่งแตกต่างจากโซลูชันของเมาส์)

ในทั้งสองกรณีสิ่งที่คุณกำลังทำอยู่เรียกว่า "การเติม" ได้รับการสนับสนุนโดยโปรแกรมสเปรดชีต (?) ทุกตัว


5
เพียงแค่ FYI ใน excel คุณสามารถคลิกสองครั้งที่มุมล่างขวาของเซลล์ที่เลือกเพื่อคัดลอกข้อมูลลงในคอลัมน์ลงตราบใดที่เซลล์ข้างเคียงมีข้อมูล มุมล่างขวาควรมีกล่องดำเล็ก ๆ อยู่ข้างบนคุณคลิกมัน
skub

1
@ BorisCallens การเติมทางลัดCtrl-/ให้กับป๊อปอัพช่วย
Anatoly techtonik

1
ฉันมีช่วงกว้างและต้องการวิธีที่เร็วที่สุดในการคัดลอกสูตรในทุกแถว การดับเบิลคลิกที่มุมล่างขวาไม่ทำงานใน Google เอกสาร
Kostanos

3
@Kostanos - ดูคำตอบของ ceoliphant ด้านล่าง มันควรทำสิ่งที่คุณต้องการ
เจฟฟ์

3
บน Mac ⌘-Dคุณต้องใช้ นอกจากนี้ยังผูกพันกับ "สร้างบุ๊กมาร์ก" ใน Chrome แต่ก็ยังใช้งานได้! นอกจากนี้หากคุณกำหนดค่าเซลล์แรกในคอลัมน์คุณสามารถคลิกชื่อคอลัมน์เพื่อเลือกสิ่งทั้งหมดจากนั้นกดCtrl-Dหรือ⌘-Dเพื่อเติม
jchook

77

ทางออกที่ง่ายยิ่งขึ้นใน 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()เพื่อจัดการผลลัพธ์ที่ไม่ดี


มันเยี่ยมมาก ฉันสงสัยว่าคุณจะแก้ไขได้อย่างไรถ้าฉันต้องการคัดลอกไปยังแถวอื่นทุกแถว?
shparekh

13

นี่เป็นอีกวิธีหนึ่งไปข้างหน้าและลบสูตรทั้งหมดที่อยู่ในนั้นทันทีจากนั้นพิมพ์สูตรใน C1 โดยสอดคล้องกับ A1 และ B1 และกด Enter
ดังนั้นตอนนี้สูตรที่ถูกต้องอยู่ใน C1,
ตอนนี้คลิกที่กล่อง C1, กล่อง bounding จะปรากฏขึ้น, มุมล่างขวาของกล่อง bounding นี้มีสี่เหลี่ยมมืด,
ดับเบิลคลิกสี่เหลี่ยมนี้และสูตรจะ 'เติม'
คุณจะสังเกตเห็น C2 สอดคล้องกับ A2 และ B2 และอื่น ๆ
หากนี่คือสิ่งที่คุณต้องการและฉันเข้าใจถูกต้อง


1
ฉันเพิ่งสังเกตเห็นว่าคุณไม่ได้ใช้ excel นี่อาจใช้งานไม่ได้แล้ว
สู้ยานพาหนะ

+1 ขอบคุณนี่เป็นสิ่งที่ดี แต่ใช้งานได้กับฉันใน OpenOffice ไม่ใช่ใน Google เอกสาร
Jonas

3
ใช้งานได้สำหรับฉัน (ค่อนข้างจะภายหลังในประวัติศาสตร์) ใน Google เอกสาร, เอ้อ, ไดรฟ์
Robert Tupelo-Schneck

ตอนนี้ใช้งานได้ใน Google ชีต ฉันแค่ลองมันหลังจากพบคำถามนี้
Sean Perry

9

คำตอบที่แนะนำนั้นใช้งานได้ดีสำหรับกระดาษขนาดเล็ก แต่ฉันมีหลายพันแถวและการใช้เมาส์หรือแป้นพิมพ์เพื่อเลือกพวกเขาใช้เวลานานเกินไป

วิธี ARRAYFORMULA ใช้งานได้ แต่มีความซับซ้อนบังคับให้ฉันเขียนสูตรสูตรใหม่และพิจารณาข้อผิดพลาดที่อาจเกิดขึ้นได้)

วิธีแก้ปัญหานั้นง่ายมากที่สามารถทำได้ใน 2 วินาที:

  1. เขียนสูตรใหม่ของคุณในเซลล์แรก
  2. คลิกที่เซลล์กด CTRL + C (คัดลอกเซลล์)
  3. คลิกที่ส่วนหัวของคอลัมน์ (เช่น A) เพื่อเลือกทั้งคอลัมน์
  4. CTRL + V -> วางสูตรเซลล์ลงในคอลัมน์ทั้งหมด
  5. กำไร

3
ในที่สุดก็มีคนขี้เกียจเหมือนฉัน! สำหรับ Google ชีตอย่างน้อยนี่ควรเป็นคำตอบในการลบล้าง
Tom

สิ่งนี้สามารถทำได้เพื่อดำเนินการเฉพาะเมื่อมีอีกสองเซลล์ที่มีประชากรฉันท้ายด้วยคอลัมน์ที่เต็มไปด้วย 0 หลังจากที่ฉันได้
TheHamstring

5

ฉันพบว่าโซลูชันเหล่านี้น่าผิดหวังและสับสนมาก

ฉันจะเตือนคุณว่าสิ่งนี้จะแทนที่สิ่งที่อยู่ในเซลล์ในปัจจุบัน แต่เนื่องจากเป็นสูตรที่ไม่น่าจะมีปัญหา

สำหรับฉันมันง่าย

  1. คลิกเซลล์ที่มีสูตรที่คุณต้องการคัดลอกหนึ่งครั้ง (เลือก)
  2. คัดลอกเนื้อหาของเซลล์ ( Ctrl+ Cบน Windows, cmd+ Cบน macOS)
  3. กดปุ่มShift+ Ctrl+ Down(เลือกเซลล์ทั้งหมดในแถวนั้น)
  4. ตอนนี้วางสูตรตามที่คุณได้เลือกเซลล์ทั้งหมดไว้

นี่จะใส่สูตรอัปเดตกับแต่ละเซลล์ตามการอ้างอิง


4

หลังจากที่คุณเขียน forumla ของคุณคุณสามารถดับเบิลคลิกที่ด้านล่างมุมขวาของเซลล์ที่เลือกด้วยกล่องสีน้ำเงินเพื่อคัดลอกข้อมูลลงในคอลัมน์ลงตราบใดที่เซลล์เพื่อนบ้านมีข้อมูล

สิ่งนี้ช่วยประหยัดเวลาได้มากเมื่อคุณมีแผ่นงาน 7,000 แถวที่คุณใช้งาน

ป้อนคำอธิบายรูปภาพที่นี่


ทำไมมันไม่ทำงานตอนนี้?
fdrv

นี่คือคำตอบที่ดีที่สุด ดับเบิลคลิกที่กล่องด้านล่างขวาเพื่อป้อนอัตโนมัติของคอลัมน์ที่เหลือ
helsont

ใช้งานได้เฉพาะถ้าเซลล์ด้านล่างไม่มีข้อมูลอยู่ภายใน แต่นี่คือทางออกที่ง่ายที่สุด
Dan Walters

3

ป.ล. ฉันกำลังทำงานใน OpenOffice และตอนนี้ฉันเห็นว่ามันทำงานได้โดยเพียงแค่คัดลอกเนื้อหาของเซลล์และวางลงในเซลล์อื่น สูตรจะถูกปรับโดยอัตโนมัติในแต่ละแถว! (เพื่อหลีกเลี่ยงคำนำหน้าการปรับอัตโนมัติชื่อของหมายเลขแถวและหมายเลขคอลัมน์ด้วย $)


2

คุณสามารถเลือกคอลัมน์ C =A1*(1.6*B1)สมบูรณ์โดยการเลือกส่วนหัวและวางสูตร มันจะใช้กับทุกแถว

ไม่จำเป็นต้องเลือกและลากเพื่อคัดลอกไปยังทุกเซลล์


2
วิธีการวางลงในเซลล์ทั้งหมดหรือไม่ เมื่อฉันทำเช่นนั้นสูตรจะถูกคัดลอกไปยังเซลล์แรกเท่านั้น
Moisei

2

คล้ายกับคำตอบของ ceoliphant แต่ตรงไปตรงมาเล็กน้อยเพิ่มเพียงหนึ่งสูตรใน C1:

=ARRAYFORMULA(iferror(A:A*B:B*1.6))
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.