นับจากเซลล์หนึ่งจนกระทั่งเซลล์ว่าง


1

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

สูตรที่มีช่วงที่มีเซลล์ตั้งแต่ D3 จนถึงเซลล์ว่างถัดไปที่จะอัปเดตและรวมข้อมูลใหม่เมื่อเซลล์ว่างสุดท้ายที่เติมด้วยข้อมูลจากวันใหม่คืออะไร


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

ในคอลัมน์ CI มีส่วนหัว 2 แถวจากนั้นข้อมูลจะเริ่มใน D3 ซึ่งจะเพิ่มในแต่ละวันเนื่องจากจะแสดงการดาวน์โหลดทั้งหมดสำหรับแต่ละวัน ปัจจุบันข้อมูลถึง D297 ก่อนที่จะมีช่องทั้งหมดใน D303 ฉันต้องการให้มีช่วงเพื่อให้ผลรวมได้รับการอัปเดตทุกครั้งที่เติมเซลล์ระหว่าง D298 และ D302 (เช่นไม่ว่าง) เมื่อมีการเพิ่มข้อมูลมากขึ้นกล่องผลรวมจะเลื่อนลงเมื่อฉันแทรกบรรทัดใหม่เพื่อเก็บข้อมูลเพิ่มเติมดังนั้นฉันจึงต้องการช่วงที่จะขยายไปยังด้านบนของกล่องผลรวม (เช่นเซลล์หนึ่งเหนือกล่องทั้งหมด)
Charlie

กล่องรวมของคุณเป็นผลรวมหรือจำนวนของเซลล์ที่อยู่ติดกันที่ไม่ว่างเปล่า?
Raystafarian

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

ฉันต้องการมีช่วงที่ตั้งชื่อซึ่งมีเซลล์ทั้งหมดที่มีข้อมูลในคอลัมน์ D ของฉันเริ่มจาก D3 จนกว่าจะมีเซลล์ว่าง นี่ควรสร้างสูตรไดนามิกซึ่งควรรวมข้อมูลใหม่เมื่อทำการเพิ่มทุกวัน
Charlie

คำตอบ:


2

ให้ฉันทำให้แน่ใจว่าฉันมีตรงนี้:

  • คุณมีข้อมูลจำนวนมากในคอลัมน์ D ที่คุณต้องการรวม
  • แถวที่ 1 และ 2 คือแถวส่วนหัวและมีข้อความ
  • แถว 3 และด้านล่างในคอลัมน์ D มีค่าที่จะรวม
  • ด้านล่างข้อมูลที่จะรวมมีเซลล์ที่คุณต้องการวางผลรวม
  • อาจมีหรือไม่มีเซลล์ว่างเปล่าระหว่างข้อมูลที่จะรวมและเซลล์ที่แสดงข้อมูล

หากคุณไม่ต้องการช่วงที่ตั้งชื่อเพื่อวัตถุประสงค์อื่นสูตรจะค่อนข้างง่าย:

=SUM(INDIRECT(CONCATENATE("D3:D",CELL("row")-1)))

เกมส์:

  • SUMจะเพิ่มค่าตัวเลขทั้งหมด (ไม่รวมช่องว่างและค่าที่ไม่ใช่ตัวเลข) ภายในเซลล์ที่ระบุโดยอัตโนมัติ
  • INDIRECTช่วยให้คุณสร้างการอ้างอิงเซลล์ผ่านสูตร
  • CONCATENATEให้คุณเข้าร่วมส่วนของสตริงและผลลัพธ์สูตรเป็นหนึ่งสตริง
  • "D3: D"เป็นส่วนแรกของการอ้างอิงที่เราจะต้องการส่งผ่านไปยัง SUM ในที่สุด
    • สิ่งนี้จะระบุช่วงของเซลล์ที่เริ่มต้นที่ D3 และจะสิ้นสุดที่เซลล์อื่นในคอลัมน์ D
    • เนื่องจากมีการระบุไว้เป็นสตริงแทนที่จะเป็นการอ้างอิงเซลล์จริงสิ่งนี้จะไม่เปลี่ยนแปลงหากเซลล์ถูกย้ายหรือคัดลอก - ช่วงจะชี้ไปที่คอลัมน์ D เสมอและเริ่มที่แถว 3 เสมอ
  • เซลล์ช่วยให้คุณได้รับข้อมูลเกี่ยวกับเซลล์ ที่นี่เราได้รับหมายเลขแถวสำหรับเซลล์ปัจจุบัน นี่คือสิ่งที่ช่วยให้สูตรสามารถปรับหมายเลขแถวได้โดยอัตโนมัติไม่ว่าจะอยู่ตำแหน่งใด
  • -1ใช้เพื่อลบ 1 จากหมายเลขแถวที่ส่งคืนโดย CELL ดังนั้นจึงอ้างอิงแถวด้านบนเซลล์ปัจจุบัน

สำหรับ D303 สิ่งนี้จะเหมือนกับ:

=SUM(D3:D302)

0

ฉันคิดว่าคำตอบของฉันที่นี่: ใน Excel 2010 ฉันจะสร้างแม่แบบที่มีฟังก์ชั่นสิ้นสุดโดยอัตโนมัติในเซลล์สุดท้ายที่มีข้อมูลได้อย่างไร อาจมีการใช้งาน

ฉันขอแนะนำตารางถ้าคุณสามารถพวกเขายังมีฟังก์ชั่นแถวรวมอยู่ภายใน

หากไม่ถอยกลับในช่วงไดนามิกที่ตั้งชื่อ


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

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

=OFFSET(Sheet1!$F$1,0,0,COUNTA(Sheet1!$F$1:$F$12),COUNTA(Sheet1!$F$1:$G$1))

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

เมื่อคุณแทรกตารางสาระสำคัญให้ใช้ชื่อของช่วงนี้


หมายเหตุการ
ตัด OFFSET ใน COUNT ชนิดใด ๆ จะไม่ทำงานหากคุณต้องการใช้ช่วงที่มีชื่อในตารางสาระสำคัญ แต่ไม่จำเป็นเพราะคุณสามารถเรียกใช้การนับบนตารางสาระสำคัญได้

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


ตกลงฉันคิดว่าทั้งหมดที่ฉันต้องการคือการแก้ไขจุดสิ้นสุดของสูตรนี้: = OFFSET (SheetName! $ A $ 2,0,0, COUNTA (SheetName! $ A $ 2: $ A $ 500),) เพื่อให้ Counta นับจาก A2 จนกระทั่งเซลล์ว่างถัดไป นี่จะให้ช่วงไดนามิกแก่ฉันหลังจากนั้น ดังนั้นฉันแค่ต้องการสูตรของ 'นับจนถึงเซลล์ว่างเปล่า' เพื่อแทนที่ A500
Charlie

สูตรนั้นเป็นสิ่งที่ใกล้เคียงที่สุดที่ฉันรู้เกี่ยวกับการnext blank rowคำนวณที่แท้จริง สิ่งเดียวที่ไม่ใช่ไดนามิกคือคุณได้ตั้งค่าช่วงสูงสุด ฉันไม่เชื่อว่ามีวิธีที่จะทำให้มันมีพลังอย่างแท้จริงเว้นแต่คุณจะใช้ VBA หรือสิ่งที่ลึกลับเกินไปสำหรับความรู้ของฉัน คุณคาดหวังว่าข้อมูลของคุณจะใหญ่ขนาดไหน เพียงตั้งค่า 500 ให้สูงกว่าค่าสูงสุดที่คุณคิดว่าจะได้รับ หากคุณไม่สามารถทำงานกับช่วงที่ระบุเช่นนี้ได้อีกครั้งฉันขอแนะนำให้ใช้งานแท็บ Excel อีกครั้งเพราะสิ่งเหล่านี้จะเป็นแบบไดนามิกอย่างแท้จริง
CLockeWork

ดังนั้นคุณจะจบลงด้วยสูตรที่มีลักษณะเช่นนี้: = COUNTA (MyRange) โดยที่ชื่อ MyRange จะสร้างช่วงจาก A2 (หรืออะไรก็ตามที่คุณเลือก) ไปยังช่องว่างแรกในคอลัมน์นั้นซึ่งจะไม่สูงขึ้น กว่าช่วงสูงสุดที่ระบุไว้ท้ายสูตรช่วงที่มีชื่อ
CLockeWork

ตกลงตอนนี้ฉันมีสูตร Counta (D3: D305) ซึ่งเลือกเซลล์ทั้งหมดที่ฉันต้องการในช่วงของฉัน ฉันจะแปลงสูตรนี้เป็นช่วงได้อย่างไร
Charlie

สร้างช่วงที่มีชื่อเช่นนี้=OFFSET(SheetName!$D$3,0,0,COUNTA(SheetName!$D$3:$D$400),)(บันทึก D400 นั้นไม่มีอันตรายใด ๆ ในการเพิ่มห้องเลื้อยเล็กน้อย) จากนั้นสูตรของคุณคือ=COUNTA(RangeName)สูตรสำหรับผลรวมจะไม่อยู่ในช่วงอย่างไรก็ตามถ้าคุณต้องการโทรหาผลลัพธ์ของ สูตรที่ใดก็ได้จากนั้นบันทึกเป็นสูตรที่กำหนดชื่อหรือทำให้เป็นช่วงที่มีชื่อทั้งหมด: =COUNTA(OFFSET(SheetName!$D$3,0,0,COUNTA(SheetName!$D$3:$D$400),))คุณสามารถวางผลลัพธ์ได้ทุกที่เพียงป้อน=MyNamedFormulaหรือชื่ออะไรก็ตามที่คุณให้ไว้ในเซลล์
CLockeWork
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.