สูตรหายเมื่อเพิ่ม Range Name
Tue, 06/15/2010 - 20:20
ไม่ทราบว่าใครเคยเจอปัญหาว่าสูตรเปลี่ยนแปลง หรือสูตรหายหลังจากที่มีการเพิ่ม Range Name บ้างครับ
ในส่วนปัญหาที่ผมพบ
ผมได้สร้างไฟล์เพื่อใช้งานโดยจะมีทั้งสูตรธรรมดาและสูตรarray ครับ
หลังจากใช้งานไปแล้ว ต้องปรับปรุงไฟล์หลายครั้งที่ผมเพิ่ม Range Name
และเพิ่มเติมสูตรในไฟล์งาน หลังจากSave และปิดไฟล์ไปแล้ว เมื่อเปิดมา
สูตรarrayบางส่วนที่สร้างไว้จะหายไป แต่สูตรอื่นๆ ไม่ได้รับผลกระทบ
ตอนแรกก็ไม่ได้สงสัยอะไร จัดการแก้ไขโดยเขียนสูตรเข้าไปใหม่ แต่ตอนหลังนี่ชักเกิดบ่อยขึ้นเลยลองเอามาสอบถามกันดู
ไฟล์ที่เกิดปัญหาโดนแก้ไขหมดแล้วหากพบกรณีใหม่จะนำมา post ไว้ให้ดูครับ
Wed, 06/16/2010 - 11:44
#1
Re: สูตรหายเมื่อเพิ่ม Range Name
ขออภัยครับ ไม่ค่อยเข้าใจปัญหาครับ ไม่ทราบว่าสร้างสูตร Array ยังไงครับ แล้ว Range Name ที่แก้ไข ได้เรียกใช้ในสูตร Array ด้วยใช่ไหมครับ แล้วปัญหาที่เกิดขึ้นมันเพี้ยนอย่างไรครับ ข้อมูลหาย หรือข้อมูลไม่ถูกต้อง หรือ parameter ในสูตรผิดพลาดครับ รบกวนขอคำอธิบายเพิ่มเติม หรือถ้าสามารถแนบไฟล์ได้ น่าจะดีครับ
Wed, 06/16/2010 - 14:15
#2
Re: สูตรหายเมื่อเพิ่ม Range Name
ถ้าผมเข้าใจไม่ผิด หมายถึง เมื่อมีการเพิ่มข้อมูลลงไปในตารางข้อมูลที่สร้าง Name Range ไว้ใช่ก่อนหรือไม่ครับ แล้วข้อมูลที่เพิ่มลงไปนั้น เพิ่มลงไปในแถวถัดจากข้อมูลแถวสุดท้ายใช่หรือไม่ครับ เมื่อมีการเพิ่มข้อมูลแล้ว ต้องการให้ข้อมูลเพิ่มเข้าไปใน Name Range ใช่หรือไม่ครับ ถ้าเป็นอย่างที่ผมกล่าว วิธีการแก้ไขทำได้หลัก 2 วิธีครับ คือ วิธีที่ี 1 แก้ไขโดยเปลี่ยนช่วงข้อมูลของ Name Range นั้นใหม่
1. ไปที่เมนู Insert > Names > Define จะปรากฏหน้าต่าง Define Names ขึ้นมา
2. เลือกชื่อ Name Range ที่ต้องการแก้ไข
3. เปลี่ยนช่วงข้อมูลในช่อง Assigned to เป็นช่วงที่เราต้องการ
4. คลิกปุ่ม Modify เพื่อทำการแก้ไขข้อมูล
5. คลิกปุ่ม OK เพื่อยืนยันแล้วปิดหน้าต่าง
วิธีที่ 2 เป็นการแก้ไขจากต้นเหตุ โดยกำหนดช่วงของ Name Range ใ้้ห้เกินจากข้อมูลซัก 2 แถว เมื่อต้องการเพิ่มข้อมูลลงไปใหม่ ให้แทรกแถวลงไปเพิ่มตามที่ต้องการ ตัวอย่างเช่น มีข้อมูล 20 แถว 4 คอลัมน์ ให้คลุมข้อมูลจากแถวแรกไปจนถึงแถวที่ 22 คอลัมน์ที่ 4 จาักนั้นทำการเพิ่ม Name range ตามปรกติ เมื่อต้องการเพิ่มข้อมูลลงไป 5 แถว ให้แทรกแถวเพิ่มจากแถวที่ 21 ข้อข้อมูลไปอีก 5 แถว จากนั้นทำการเพิ่มข้อมูลตามปรกติ แค่นี้ Name Range ก็จะเพิ่มขึนเองอัตโนมัติครับ



Wed, 06/16/2010 - 14:55
#3
รายงานการทดสอบเพิ่มเติม
ผมได้ลองสร้างการทดสอบเพื่อให้ปัญหาดังกล่าวปรากฏภายใต้เงื่อนไขดังนี้
1.ไฟล์ถูกบันทึกเป็นนามสกุล xls
2. สร้างสูตรarray ที่ใช้range name และไม่ใช้ range name
ใช้ไฟล์ตามรายละเอียดด้านบนเป็นตัวเริ่มต้น(TestArrayFormula.xls)และดำเนินการทดสอบตามลำดับดังนี้
1.เปิดไฟล์ดังกล่าวและสร้าง range name ขึ้นมาใหม่ กำหนด Start = $Sheet1$A$1
2.บันทึกและปิดไฟล์(TestArrayFormula1.xls)
ที่ขั้นตอนนี้หากเปิดไฟล์ขึ้นมาดูสูตรarray ที่ใช้range name ในสูตร สูตรดังกล่าวจะโดนทำลายหายไป
3.เปิดไฟล์ TestArrayFormula1.xls ขึ้นมา
4.แก้ไขสูตรที่โดนทำลายให้ถูกต้องจากนั้น save ไปที่ไฟล์ใหม่ TestArrayFormula2.xls (ไฟล์อันนี้ปกติครับ)
5.เปิดไฟล์ TestArrayFormula2.xls ขึ้นมา
6.ลบrange Name "Start" ออก แล้วsave ไฟล์ชื่อ TestArrayFormula3.xls
ไฟล์สุดท้ายนี้สูตรarray ที่ส้รางไว้ก็โดนทำลายอีก
เบื้องต้นทดสอบกับไฟล์ ods ไม่เกิดปัญหานี้ขึ้นครับ
ไม่ใช่ปัญหาที่กำหนดrange name ไม่เพียงพอครับ ผมใช้ Dynamic Range Name ครับ
รบกวนช่วยทดสอบเพิ่มเติมด้วยครับ
| Attachment | Size |
|---|---|
| TestArrayFormula.7z | 1.73 KB |
Mon, 06/21/2010 - 14:06
#4
Re: สูตรหายเมื่อเพิ่ม Range Name
ไม่ทราบว่าผมทำเหมือนที่บอกไว้หรือเปล่า
ผมทำด้วยวิธีนี้ครับ
1. ในเซลล์ A2:A10 พิมพ์เลข 1-9 ตามลำดับ
2. ตั้งชื่อ range name ของ เซลล์ A2:A10 ว่า ID
3. เซลล์ B2 พิมพ์สูตรว่า =ROW(A2:A10) แล้วกดปุ่ม Ctrl + Shift + Enter
4. จะได้สูตร Array ในเซลล์ B2:B10
5. ในเซลล์ C2 พิมพ์สูตรว่า =ID แล้วกด Ctrl + Shift + Enter
6. จะได้สูตร Array ในเซลล์ C2:C10
7. แล้วบันทึกเป็น .xls
8. เปิดด้วย Calc
แต่เมื่อผมเปิดแล้วไม่พบปัญหาเหมือนกับไฟล์ TestArrayFormula1.xls ที่ส่งมาให้ดูครับ สูตรปรกติเหมือนกับตอนที่สร้างตอนแรก
ไม่ทราบว่าผมทำตรงไหนไม่เหมือนกันหรือเปล่าครับ จะได้ทดลองว่าเป็นปัญหาที่ส่วนใดครับ
Tue, 06/22/2010 - 08:18
#5
Re: สูตรหายเมื่อเพิ่ม Range Name
ใช่ครับ ผมเริ่มสร้างไฟล์แบบที่คุณ tatat บอกไว้
แต่การสร้างไฟล์ทั้งหมดผมทำใน Calc ครับ
หลังจากที่สร้างไฟล์ดังกล่าวและปิดไปแล้ว ผมก็เปิดขึ้นมาใหม่
1.เพิ่ม range name อะไรก็ได้ขึ้นมาอย่างน้อย 1 ชื่อ
2.save ไฟล์และปิด โปรแกรม Calc ไปเลย
3.เปิดไฟล์ขึ้นมาใหม่ ปัญหาจะเกิดหลังจากนี้ครับ
Mon, 06/28/2010 - 09:14
#6
Re: สูตรหายเมื่อเพิ่ม Range Name
ผมพบปัญหาแล้วครับ กำลังลองหาทางแก้ปัญหาอยู่ครับ ถ้าหากเป็น Bug จะรายงานไปทาง Oracle ให้ครับ

