การสร้างแผนภูมิโดยใช้ช่วงไดนามิกที่มีชื่อใน Excel 2010


3

ฉันกำลังพยายามสร้างพล็อตกระจายใน Excel 2010 โดยใช้ช่วงที่ตั้งชื่อแบบไดนามิกและมีปัญหาในการทำให้มันทำงาน นี่คือตัวอย่างง่ายๆที่ล้มเหลว:

  1. เปิด Excel เพื่อเริ่มต้นสมุดงานใหม่

  2. ป้อนข้อมูล: ตัวเลขที่ป้อนในเซลล์ A1: B5

  3. ในเซลล์ D1 ให้ป้อน: $A$1:$B$5. (ในแผ่นงานจริงของฉันสิ่งนี้คำนวณได้แบบไดนามิก แต่การป้อนข้อมูลด้วยตนเองยังคงมีปัญหา)

  4. บน Ribbon ให้คลิกสูตรกำหนดชื่อ กำหนดMyRange1เป็นชื่อชีตท้องถิ่นโดยใช้=INDIRECT(Sheet1!$D$1)ดังแสดงด้านล่าง: กล่องโต้ตอบชื่อใหม่

  5. คลิกตกลงจากนั้นแทรกแผนภูมิกระจาย

  6. เปิดกล่องโต้ตอบ "เลือกข้อมูล" และป้อน ='Sheet1'!MyRange1 เลือกกล่องโต้ตอบข้อมูล

  7. Excel ขัดข้อง ...

Microsoft Excel พบปัญหาและจำเป็นต้องปิด

ปัญหาเกิดขึ้นทั้งใน Windows XP และ Windows 7 ที่มี Excel 2010 ในทั้งสองกรณีสามารถทำซ้ำได้ทุกครั้ง


ฉันยังลอง:

  • การกำหนดช่วงแยกสำหรับข้อมูล x และ y และใช้กล่องโต้ตอบ Edit Series หลังจากป้อน='Sheet1'!MyXRangeในฟิลด์ค่า X แล้ว Excel จะหยุดการยอมรับการป้อนข้อมูลของแป้นพิมพ์และเมาส์ยกเว้นปุ่ม Escape ที่ออกจากกล่องโต้ตอบ ถ้าฉันกลับไปที่กล่องโต้ตอบเท่านั้นมันจะพัง

  • การกำหนดช่วงที่มีชื่อให้กับสมุดงานแทนที่จะเป็นแผ่นงาน สิ่งนี้จะหยุดการทำงานผิดพลาด แต่ฉันได้รับข้อผิดพลาดในกล่องโต้ตอบเลือกข้อมูลขึ้นอยู่กับว่าฉันพิมพ์=MyRange1หรือ='Sheet1'!MyRange1:

การอ้างอิงไม่ถูกต้อง สูตรในสมุดงานนี้ ...


นี่เป็นปัญหาที่ทราบหรือมีรายงานที่ไหนบ้าง ฉันไม่มี Excel 2007 หรือ 2003 ที่นี่เพื่อตรวจสอบว่าปัญหาถูกแยกเป็น 2010 ถ้าฉันไม่สามารถใช้งานได้ฉันอาจใช้ VBA แทนช่วงไดนามิกที่มีชื่อ


อัปเดต: ฉันคิดว่าฉันหาคำตอบได้แล้ว (ฉันโพสต์คำตอบตอนนี้ถูกลบแล้ว) ฉันเปลี่ยนค่าในเซลล์ D1 = $ A $ 1: $ B $ 5 เป็น D1 = 'Sheet1'! $ A $ 1: $ B $ 5 และแผนภูมิถูกสร้างขึ้นอย่างถูกต้อง อย่างไรก็ตามดูเหมือนว่าเมื่อสร้างแผนภูมิมันไม่ได้เป็นแบบไดนามิก - เพียงแค่ใช้ค่าปัจจุบันเพื่อสร้างชุด X และ Y ดังนั้นการเปลี่ยน D1 จึงไม่ทำให้การปรับปรุงแผนภูมิ


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

คำตอบ:


3

ตามลิงค์ด้านล่างและการทดสอบส่วนตัวของฉันคุณต้องป้อนชุดข้อมูลในรูปแบบของ

'WorkbookName.xls'!RangeNameX

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

=OFFSET($A$1,0,0,MATCH(1E+306,$A:$A,1),1)

ที่ทำงานเพื่อทำให้แผนภูมิมีชีวิตชีวาเท่าที่เพิ่มค่าที่ผนวกใหม่ลงในแผนภูมิ (จำเป็นต้องใช้ค่า X และ Y ก่อนที่จะอัปเดตแผนภูมิ)

แหล่งที่มาสำหรับวิธีการตั้งค่าแผนภูมิ - แหล่งที่มาของไซต์ Microsoft Q & A สำหรับช่วงไดนามิกที่ร้อนแรง - OZGrid


ฉันยังพบว่าการป้อนชื่อชีตด้านหน้าจะทำเคล็ดลับกับออฟเซ็ตในช่วงที่มีชื่อด้วย'Sheet1'!RangeNameX
wbeard52

3
  1. เมื่อ INDIRECT ถูกใช้เพื่อกำหนดช่วงแผนภูมิมักจะไม่ใช้ช่วงอย่างถูกต้องและมักจะไม่ยอมรับช่วงที่มีชื่อเหล่านี้ มีวิธีที่ดีกว่า (มีประสิทธิภาพมากขึ้น) ในการกำหนดช่วงไดนามิกโดยใช้ตัวอย่างเช่น INDEX หรือ OFFSET

  2. แม้ว่าชื่อจะได้รับการยอมรับจากแผนภูมิ แต่จะถูกแปลงเป็นที่อยู่ของเซลล์ในกล่องช่วงข้อมูลแผนภูมิของกล่องโต้ตอบเลือกแหล่งข้อมูล ชื่อจะคงอยู่ในช่วงสำหรับชื่อ X, Y และซีรี่ส์สำหรับแต่ละซีรี่ส์เท่านั้น

  3. หากคุณใส่คำนำหน้าช่วงด้วยชื่อชีตในเซลล์ D1 แผนภูมิต้องการช่วงที่ผ่านการรับรองโดยสมบูรณ์ดังนั้นหากเซลล์ D1 มีSheet1!$A$1:$B$5คุณสามารถใช้ชื่อที่คุณกำหนดในกล่องช่วงข้อมูลแผนภูมิของกล่องโต้ตอบเลือกแหล่งข้อมูล โปรดทราบว่าตามจุดที่ 2 Excel จะแปลงช่วงนี้เป็นที่อยู่เซลล์เมื่อคุณคลิกตกลง


2

นี่คือวิธีที่ฉันสร้างแผนภูมิแบบไดนามิก

  1. สร้างตารางจากข้อมูลของคุณ

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

  2. เน้นตาราง
  3. ไปที่แท็บแทรกและเลือกประเภทของแผนภูมิที่คุณต้องการ

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

เมื่อคุณเพิ่มข้อมูลลงในตารางข้อมูลนั้นจะถูกอัปเดตไปยังแผนภูมิเช่นกัน

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


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