ใช้สูตรกับทั้งคอลัมน์


103

ฉันกำลังพยายามเข้ารหัสรหัสไปรษณีย์ทั้งหมดจากคอลัมน์ A เป็นคอลัมน์ B ด้วยสูตร:

=TEXT(A1,"00000")

แบบนี้:

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

ฉันต้องการให้ทุกเซลล์ในคอลัมน์ B เปลี่ยนรูปโดยใช้สูตรด้านบน แต่ฉันมีแถวมากกว่า 40,000 แถวดังนั้นจึงไม่สามารถลากสูตรลงมาและใช้กับคอลัมน์ B ทั้งหมดได้

มีสูตรที่ฉันสามารถใช้แก้ปัญหานี้ได้หรือไม่?

คำตอบ:


92

ฉันคิดว่ามันเป็นฟีเจอร์ที่ใหม่กว่า แต่ใช้ได้กับฉัน:

การคลิกสองครั้งที่ช่องสี่เหลี่ยมด้านขวาล่างของเซลล์ที่ไฮไลต์จะคัดลอกสูตรของเซลล์ที่ไฮไลต์

หวังว่าจะช่วยได้


20
นี่คือคำตอบที่ถูกต้องสำหรับคำถาม การดับเบิลคลิกที่ "ตัวบ่งชี้การลาก" (มุมล่างขวา) จะคัดลอกสูตรไปยังเซลล์ทั้งหมด ตรวจสอบให้แน่ใจว่าคุณได้ล้างข้อมูลคอลัมน์ของคุณก่อนและใช้สูตรของคุณกับสูตรเดียวเท่านั้น คำตอบข้างต้นของ "ArrayFormula" ดูเหมือนว่าจะสามารถใช้เซลล์จำนวนมากกับสูตรเดียวซึ่งไม่ใช่สิ่งที่ OP ต้องการ
Thanasis Kapelonis

3
ขอบคุณสำหรับการแบ่งปัน. มันใช้งานได้ดีสำหรับฉัน แต่ฉันชอบใช้ฟังก์ชัน ArrayFormula เพียงเพราะไม่เหมือนวิธีของคุณซึ่งโดยทั่วไปจะคัดลอกสูตรเดียวกันลงไปในทุกเซลล์ ArrayFormula จะมีไดนามิกมากกว่าและสามารถตั้งโปรแกรมได้ง่ายขึ้น
Shahab Yarmohammadi

3
@ThanasisKapelonis คุณไม่จำเป็นต้องล้างข้อมูลคุณเพียงแค่คลิกสองครั้งที่ตัวบ่งชี้การลากและใช้สูตรกับแถวที่ตามมาทั้งหมดซึ่งข้อมูลในตัวยึดแต่ละตัวมีอยู่ในคอลัมน์ที่เกี่ยวข้องสำหรับแถวนั้น มันจะหยุดที่ข้อมูลหายไป ดังที่แสดงโดย Brett Sutton
dresh

2
ฉันมีข้อมูลมากเกินไปที่จะตอบคำถามนี้ล้มเหลวและฉันต้องโหลดหน้านี้ซ้ำ
Daniel Ryan

4
การคลิกสองครั้งนี้ดูเหมือนจะใช้ได้เฉพาะเมื่อมีข้อมูลในคอลัมน์ถัดจากคอลัมน์ที่คุณกำลังเติม ... หากมีคอลัมน์ "ตัวเว้นวรรค" ว่างอยู่ระหว่างนั้นก็จะล้มเหลวโดยเงียบ
กิโล

61

ดูเหมือนว่าคำตอบอื่น ๆ จะล้าสมัยไปแล้ว แต่สำหรับฉันสิ่งนี้ใช้ได้ผล:

  1. คลิกที่เซลล์ที่มีข้อความ / สูตรเพื่อคัดลอก
  2. Shift + คลิกที่เซลล์สุดท้ายเพื่อคัดลอกไป
  3. Ctrl + Enter

(โปรดทราบว่าสิ่งนี้จะแทนที่ข้อความหากเซลล์ปลายทางไม่ว่างเปล่า)


9
ทำงานร่วมกับ CMD + Enter บน Mac
StapleGun

4
นี่คือคำตอบที่ดีที่สุดในปี 2019
Happy Bird

1
คำตอบนี้ใช้ได้กับสูตรที่หลากหลายมากขึ้นและควรเป็นคำตอบที่ยอมรับได้
phlare

1
ทำงานได้ครั้งละหนึ่งคอลัมน์เท่านั้น แต่ทำงานได้ดี หากคุณต้องการทำสิ่งนี้ให้เสร็จอย่างรวดเร็วสำหรับสิ่งต่างๆมากมายให้Ctrl+Shift+Downเลือกไปที่ด้านล่างสุดของคอลัมน์ปัจจุบันCtrl+Enterดังที่คุณกล่าวจากนั้นUp, Right, [Down](ไม่จำเป็นต้องใช้อันสุดท้ายหากคุณอยู่ในแถวที่ 1) เพื่อไปที่ คอลัมน์ถัดไป
Adam Barnes

ใช้งานได้อย่างมีเสน่ห์ในปี 2020 ขอบคุณ!
nxmohamad

58

ฉันคิดว่าคุณโชคดี โปรดลองป้อนใน B1:

=text(A1:A,"00000")

(คล้ายมาก!) แต่ก่อนกดEnterhit Ctrl+ Shift+ Enter.


33
เมื่อฉันลอง Ctrl + Shift + Enter มันจะล้อมรอบสูตรของฉันด้วยArrayFormula(…).
binki

2
@pnuts คุณหมายความว่าอย่างไร สิ่งนี้ใช้ไม่ได้กับฉันเช่นกัน รับ ArrayFormula ต่อไป (
JayPex

4
@pnuts อาจมีการเปลี่ยนแปลงในปีที่แล้ว แต่ ArrayFormula ไม่ได้ขยายสูตรลงคอลัมน์ B เป็นภาพจาก OP สำหรับฉันมันแค่เติมค่าของเซลล์ที่เลือก
Assimilater

12
ขอบคุณสำหรับการแบ่งปัน. ทำงานได้ดีสำหรับฉันจริงๆ ฉันคิดว่าสิ่งหนึ่งที่ผู้คนอาจขาดหายไปคือส่วน B1: B ซึ่งฉันต่อสู้กับตัวเองมาสองสามวินาที คุณต้องแทนที่คอลัมน์เดี่ยวของคุณโดยพูดว่า B1 ด้วยอาร์เรย์ของคอลัมน์ B1: B ในสูตรของคุณเพื่อให้มันทำงานได้ นี่เป็นวิธีการที่ดีที่สุดและมีพลวัตที่สุด
Shahab Yarmohammadi

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

9

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

ลองมาเป็นตัวอย่าง:

  • สตริงอาร์เรย์ในคอลัมน์ "A": {apple, banana, orange, ... , avocado}
  • คุณต้องการแทนที่อักขระของ "a" เป็น "x" เพื่อให้มี: {xpple, bxnxnx, orxnge, ... , xvocado}

หากต้องการใช้สูตรนี้กับทั้งคอลัมน์ (อาร์เรย์) อย่างสวยงามคุณสามารถทำได้:

=ARRAYFORMULA(SUBSTITUE(A:A, "a", "x"))

มันใช้ได้กับ 2D-arrays เช่นกันสมมติว่า:

=ARRAYFORMULA(SUBSTITUE(A2:D83, "a", "x"))

8

พบวิธีแก้ปัญหาอื่น:

  • ใช้สูตรกับเซลล์ 3 หรือ 4 เซลล์แรกของคอลัมน์
  • Ctrl+ Cสูตรในหนึ่งในแถวสุดท้าย (หากคุณคัดลอกบรรทัดแรกจะใช้ไม่ได้)
  • คลิกที่ส่วนหัวของคอลัมน์เพื่อเลือกทั้งคอลัมน์
  • กดCtrl+ Vเพื่อวางในเซลล์ทั้งหมดร้อง

2
ดูเหมือนจะทำงานได้ดีกว่าการดับเบิลคลิกสำหรับฉัน ขอบคุณ!
Ivan

6

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

  1. เลือกเซลล์คอลัมน์ที่คุณต้องการคัดลอกด้านล่าง
  2. กดCtrl+ Shift+ เพื่อเลือกเซลล์ด้านล่าง
  3. กดCtrl+ Enterเพื่อคัดลอกเนื้อหาของเซลล์แรกลงในเซลล์ด้านล่าง

โบนัส:

ทางลัดสำหรับการไปกับเนื้อหาด้านล่างสุด (เพื่อตรวจสอบการคัดลอก) เป็น+Ctrl ในการสำรองข้อมูลคุณสามารถใช้Ctrl+ แต่ถ้าแถวบนสุดของคุณถูกตรึงคุณจะต้องกดEnterสองสามครั้ง


1
นี่เป็นการแฮ็กที่ตรงที่สุด ขอบคุณ!
Sopia Alfred

3

ดังนั้นฉันจะไม่สูญเสียคำตอบที่ได้ผล:

  1. เลือกเซลล์ที่จะคัดลอก
  2. เลือกเซลล์สุดท้ายในคอลัมน์
  3. กดCTRL+D

ดี! หมายเหตุ: ควรกด shift-click สำหรับขั้นตอนที่ 2.
6005

1

คุณสามารถใช้ Ctrl + Shift + Down + D เพื่อเพิ่มสูตรให้กับทุกเซลล์ในคอลัมน์ได้เช่นกัน

เพียงคลิก / ไฮไลต์เซลล์ด้วยสมการ / สูตรที่คุณต้องการคัดลอกจากนั้นกด Ctrl + Shift + Down + D ค้างไว้สูตรของคุณจะถูกเพิ่มลงในแต่ละเซลล์


0

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

.เช่น

1,a,b
2,a
3,
4,a

หากด้านบนเป็นสเปรดชีตให้ใช้ตัวบ่งชี้การลากดับเบิลคลิกที่เซลล์ 'b' จะเติมแถวที่ 2 แต่ไม่ใช่แถวที่สามหรือสี่


1
หากคุณกำลังพยายามใช้สูตรกับแถวในชุดที่กรองแล้วใน Excel โดยใช้ "ดับเบิ้ลคลิกที่ตัวบ่งชี้การลาก" จะหยุดทุกครั้งที่หมายเลขซีเรียลของแถวกระโดดนั่นคือแถวที่ 1, 2, 3 หากปรากฏตามลำดับจะถูกนำไปใช้กับสูตรอย่างไรก็ตามถ้าแถวที่ 5 ปรากฏหลังแถวที่ 3 (เนื่องจากการกรอง) จากนั้นแถวที่ 5 จะไม่ได้รับสูตรที่ใช้ ในกรณีนี้คุณต้องคัดลอกจากเซลล์ในแถวที่ 3 แล้ววางในแถวที่ 5 แล้วใช้ดับเบิลคลิกเดียวกัน ใช่ excel Sucks
dresh

แม้ว่านี่อาจเป็นคำใบ้ที่มีประโยชน์ในการแก้ปัญหา แต่คำตอบที่ดีก็แสดงให้เห็นถึงวิธีแก้ปัญหาเช่นกัน โปรดแก้ไขเพื่อให้รหัสตัวอย่างเพื่อแสดงความหมายของคุณ หรือให้ลองเขียนเป็นข้อคิดเห็นแทน
Toby Speight

-2

คุณสามารถเติมคอลัมน์ได้โดยดับเบิลคลิกที่มุมล่างขวามือของเซลล์ที่คุณต้องการคัดลอก (จุดบนกล่องที่คุณจะลาก) และจะถูกนำไปใช้กับทั้งคอลัมน์

หมายเหตุ: จะใช้ไม่ได้ถ้าคุณใช้ตัวกรองหรือถ้ามีบางอย่างอยู่แล้วในเซลล์ด้านล่าง


อย่างไรก็ตามสิ่งนี้ถูกต้องคุณต้องตรวจสอบให้แน่ใจว่าไม่มีข้อมูลอยู่ในเซลล์ใต้เซลล์ที่มีสูตรของคุณ
BinaryJoe01

แม้ว่านี่อาจเป็นคำใบ้ที่มีประโยชน์ในการแก้ปัญหา แต่คำตอบที่ดีก็แสดงให้เห็นถึงวิธีแก้ปัญหาเช่นกัน โปรดแก้ไขเพื่อให้รหัสตัวอย่างเพื่อแสดงความหมายของคุณ หรือลองเขียนสิ่งนี้เป็นความคิดเห็นแทน
Toby Speight
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.