snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Pukhao
Member
Posts: 2 Joined: Fri Oct 18, 2019 5:24 pm
#1
Post
by Pukhao » Mon Oct 21, 2019 10:46 am
ต้องการดึงข้อมูลข้ามชีทในตาราง ตาม List ที่เลือก และแก้ไขข้อมูลจากค่าที่ดึงมา โดยที่ค่าในตารางไม่เปลี่ยน
พอจะมีวิธีใดบ้างคะ
You do not have the required permissions to view the files attached to this post.
puriwutpokin
Guru
Posts: 3801 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#2
Post
by puriwutpokin » Mon Oct 21, 2019 7:48 pm
ที่ ชีท Data ที่ A1:A3 คีย์ 0.3,0.4,0.5
ที่ B8=LOOKUP(9^9,$B1:B1) คัดลอกไปทางขวา และลงไปถึง B9
ที่ ชีท Test B16=IFERROR(INDEX(Data!$B$4:$M$7,ROWS($B$16:$B16),MATCH($B$13,Data!$B$8:$M$8,0)+MATCH(LOOKUP(9^9,$B$14:B$14),Data!$B$9:$M$9,0)+MATCH(B$15,Data!$B$3:$M$3,0)-2),"") คัดลอกไปทางขวาและลงล่างครับ
snasui
Site Admin
Posts: 31256 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#3
Post
by snasui » Mon Oct 21, 2019 8:18 pm
อีกตัวอย่างสูตรครับ
ชีต Test เซลล์ B16 คีย์
=IFERROR(INDEX(OFFSET(Data!$B$1,0,MATCH($B$13,Data!$B$1:$M$1,0)-1,7,4),ROWS(B$13:B16),MATCH(LOOKUP(9.99999999999999E+307,$B$14:B$14),OFFSET(Data!$B$1,1,MATCH($B$13,Data!$B$1:$M$1,0)-1,1,4),0)-1+MATCH(B$15,OFFSET(Data!$B$1,2,MATCH($B$13,Data!$B$1:$M$1,0)-1,1,4),0)),"")
Enter > Copy ไปด้านขวาและลงด้านล่าง
กรณีต้องการแก้ไขค่าจะเป็นการทำลายสูตร เพราะฉะนั้นจะต้องเก็บสูตรเอาไว้ที่ใดที่หนึ่งเพื่อที่จะนำมาวางใหม่ หากไม่ทำเช่นนี้อีกทางเลือกคือเขียน VBA ซึ่งต้องปฏิบัติตามกฎการใช้บอร์ดข้อ 5 ด้านบนครับ
Pukhao
Member
Posts: 2 Joined: Fri Oct 18, 2019 5:24 pm
#4
Post
by Pukhao » Tue Oct 22, 2019 9:36 am
ทำได้แล้วค่ะ ขอบคุณอาจารย์ และคุณ puriwutpokin ค่ะ