:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ผมต้องการหาวิธีดึงข้อมูลจากเซลล์ๆ หนึ่งที่เกิดจากการตัดกันของ ROW และ Column ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
neutralart
Member
Member
Posts: 60
Joined: Thu May 09, 2013 11:12 am
Contact:

ผมต้องการหาวิธีดึงข้อมูลจากเซลล์ๆ หนึ่งที่เกิดจากการตัดกันของ ROW และ Column ครับ

#1

Post by neutralart »

ผมได้สร้างตารางสมมติขึ้นมาชุดหนึ่ง โดยให้ row 5-10 แสดงรายได้ โดยจะสัมพันธ์กับบริษัท A B C ที่ถูกแบ่งย่อยออกเป็นปี 2559-2560 ครับ
ผมต้องการดึงข้อมูลในเซลล์ E8 หรือ "รายได้ 4"​ของปี 2559 ในเซลล์ที่ผมทำกรอบเป็นสีแดงไว้ ไปไว้ในเซลล์ K3

แต่ถ้าผมใช้วิธีคีย์ =E8 เลย ในทางปฏิบัติจะทำไม่ได้ เพราะตารางนี้มีการปรับเปลี่ยนตำแหน่งข้อมูลบ่อยครั้งครับ ผมจึงอยากใช้วิธีค้นหาตัวเลขของเซลล์ที่เกิดจากการตัดระหว่าง row ที่มีคำว่า "รายได้ 4" กับ คอลัมที่มีคำว่า "2559" ของ B ไม่ทราบว่าต้องใช้คำสั่งอะไรครับ?

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

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3693
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ผมต้องการหาวิธีดึงข้อมูลจากเซลล์ๆ หนึ่งที่เกิดจากการตัดกันของ ROW และ Column ครับ

#2

Post by puriwutpokin »

ใส่ B ที่ I3 และที่ K3=INDEX(B5:G11,MATCH(LEFT(J3,8),A5:A11,0),MATCH(I3,B3:G3,0)+MATCH(RIGHT(J3,4)+0,B4:G4,0)-1)
ต้องกำหนด ให้ มีค่า B ที่ I3 ด้วยครับ
:shock: :roll: :D
neutralart
Member
Member
Posts: 60
Joined: Thu May 09, 2013 11:12 am
Contact:

Re: ผมต้องการหาวิธีดึงข้อมูลจากเซลล์ๆ หนึ่งที่เกิดจากการตัดกันของ ROW และ Column ครับ

#3

Post by neutralart »

ขอบคุณครับ

แต่ผมไม่เข้าใจคำสั่งชุดนี้ครับ MATCH(I3,B3:G3,0)+MATCH(RIGHT(J3,4)+0,B4:G4,0)-1 ว่าทำไมต้อง +0 ทำไมต้อง -1 น่ะครับ

อีกปัญหานึงครับ ถ้าหากตารางมีการปรับเปลี่ยนตำแหน่ง เช่น คอลัมรายได้ หรือแถวของ A B C ตรงนี้ผมก็ต้องมาคอยแก้ ARRAY ใหม่เรื่อยๆ ใช่ไหมครับ

puriwutpokin wrote:ใส่ B ที่ I3 และที่ K3=INDEX(B5:G11,MATCH(LEFT(J3,8),A5:A11,0),MATCH(I3,B3:G3,0)+MATCH(RIGHT(J3,4)+0,B4:G4,0)-1)
ต้องกำหนด ให้ มีค่า B ที่ I3 ด้วยครับ
User avatar
puriwutpokin
Guru
Guru
Posts: 3693
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ผมต้องการหาวิธีดึงข้อมูลจากเซลล์ๆ หนึ่งที่เกิดจากการตัดกันของ ROW และ Column ครับ

#4

Post by puriwutpokin »

+0 เพื่อให้ค่าที่ตัดออกมานั้นกลับเป็นตัวเลข ให้ตรงกับ ช่องข้อมูลที่คีย์เป็นตัวเลขครับ
-1 เพื่อ หักออกหนึ่งคอลัมน์เพื่อให้ค่าตรงกับที่ต้องการหาครับ
ถ้ามีการเปลี่ยน ตำแหน่งต้องเปลี่ยน ช่วงไปด้วยครับ ไม่งั้นต้อง กำหนดช่วงเผื่อไว้ จะได้
ไม่ต้องมาเปลี่ยนช่วงบ่อยๆ หรือ สร้างเป็น Define name หรือ จะเป็น Table ไว้ก็จะได้ยืดหยุ่นครับ
:shock: :roll: :D
neutralart
Member
Member
Posts: 60
Joined: Thu May 09, 2013 11:12 am
Contact:

Re: ผมต้องการหาวิธีดึงข้อมูลจากเซลล์ๆ หนึ่งที่เกิดจากการตัดกันของ ROW และ Column ครับ

#5

Post by neutralart »

ยังสงสัยอยู่ครับ ถ้าต้อง +0 เพื่อให้ค่าตัดออกเป็นตัวเลข ทำไมจึงไม่ +0 ในคำสั่ง =left ใน Row Number เพื่อให้ค่าเป็นตัวเลขด้วยล่ะครับ

puriwutpokin wrote:+0 เพื่อให้ค่าที่ตัดออกมานั้นกลับเป็นตัวเลข ให้ตรงกับ ช่องข้อมูลที่คีย์เป็นตัวเลขครับ
-1 เพื่อ หักออกหนึ่งคอลัมน์เพื่อให้ค่าตรงกับที่ต้องการหาครับ
ถ้ามีการเปลี่ยน ตำแหน่งต้องเปลี่ยน ช่วงไปด้วยครับ ไม่งั้นต้อง กำหนดช่วงเผื่อไว้ จะได้
ไม่ต้องมาเปลี่ยนช่วงบ่อยๆ หรือ สร้างเป็น Define name หรือ จะเป็น Table ไว้ก็จะได้ยืดหยุ่นครับ
Post Reply