: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

ใช้สูตร IF ดึกขัอมูลจาก Sheet อื่นมาโชว์

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
peepoman
Member
Member
Posts: 5
Joined: Mon Sep 18, 2017 2:21 pm

ใช้สูตร IF ดึกขัอมูลจาก Sheet อื่นมาโชว์

#1

Post by peepoman »

คือผมต้องการสร้าง Sheet ค้นหาข้อมูลครับ

ตัวอย่าง สมมุติผมมีซีท แรกซื่อว่า Data ครับ และซีทที่ 2 มีซื่อว่า "นาย A" ซีทที่ 3 มีซื่อว่า "นาย B"

ถ้าผมต้องการให้สูตร IF(A1="ซื่อ Sheet โดยใช้การกรองข้อมูลจากเราหรือทำ Drop Down box","ให้โชว์ข้อมูลของ A2 ในซื่อ Sheet ที่เราพิมพ์ไว้ใน A1,"")

แบบนี้ใช้สูตรต้องทำยังไงครับ แล้วใช้สูตรนี้ถือว่าเหมาะสมไหมครับ
ขอบคุณมากครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ใช้สูตร IF ดึกขัอมูลจาก Sheet อื่นมาโชว์

#2

Post by snasui »

:D กรุณาแนบไฟล์ตัวอย่างประกอบ ชี้ให้เห็นว่าข้อมูลเป็นอย่างไร ต้องการคำตอบเป็นอย่างไร จะได้สะดวกในการทำความเข้าใจครับ
peepoman
Member
Member
Posts: 5
Joined: Mon Sep 18, 2017 2:21 pm

Re: ใช้สูตร IF ดึกขัอมูลจาก Sheet อื่นมาโชว์

#3

Post by peepoman »

จะเป็นลักษณะนี้ครับ คือ ให้หน้าแรกโชว์ ข้อมูลตาม sheet ลูกค้าถ้า เราเปลี่ยนเป็น ลูกค้า นาย A ก็ให้ โชว์ของ นาย A ครับ แต่ถ้าเลือกเป็น นาย B ให้โชว์เป็นของ นาย B ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ใช้สูตร IF ดึกขัอมูลจาก Sheet อื่นมาโชว์

#4

Post by snasui »

:D ตัวอย่างสูตรครับ

ที่ชีต Search เซลล์ A5 คีย์

=OFFSET(INDIRECT("'"&$B$1&"'!a5"),ROWS(A$5:A5)-1,COLUMNS($A5:A5)-1)

Enter > Copy ไปด้านขวาและลงด้านล่าง
peepoman
Member
Member
Posts: 5
Joined: Mon Sep 18, 2017 2:21 pm

Re: ใช้สูตร IF ดึกขัอมูลจาก Sheet อื่นมาโชว์

#5

Post by peepoman »

ได้แล้วครับผม

ขอบคุณมากครับ

รบกวนถามเพิ่มเติมครับ พอดีผมไม่เคยใช้เจ้าสูตร offset และ indirect เลยครับ แต่ที่สงสัยที่สุดคือในสูตร
INDIRECT("'"&$B$1&"'!a5")
ตรง ที่เขียนว่า (" ' "& ......... &" ' !a5")
1. เครื่องหมาย " ' " ก่อน & แทนความหมายว่าอะไรครับ
2. " ' !a5" แทนความหมายว่าอะไรครับ
ขอบคุณมากครับ
User avatar
logic
Gold
Gold
Posts: 1506
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

Re: ใช้สูตร IF ดึกขัอมูลจาก Sheet อื่นมาโชว์

#6

Post by logic »

ขออธิบายตามที่พอรู้มาครับ :)

ข้อ 1 ใช้ครอบชื่อชีต สังเกตเวลาเราอ้างชีตในสูตรที่คีย์แบบมีตัวเลขปน มีวรรคปนโปรแกรมจะแปลงให้มีเครื่องหมาย ' ' ครอบชื่อชีตอัตโนมัติ เข้าใจว่าอาจารย์เขียนดักไว้ล่วงหน้า
ข้อ 2 เป็นตำแหน่งเซลล์
peepoman
Member
Member
Posts: 5
Joined: Mon Sep 18, 2017 2:21 pm

Re: ใช้สูตร IF ดึกขัอมูลจาก Sheet อื่นมาโชว์

#7

Post by peepoman »

logic wrote:ขออธิบายตามที่พอรู้มาครับ :)

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

ผมมีคำถามเพิ่มเติมครับ

1. ที่อาจารย์ใช้ สูตร =OFFSET(INDIRECT("'"&$B$1&"'!a5"),ROWS(A$5:A5)-1,COLUMNS($A5:A5)-1) เพราะว่าในสูตร INDIRECT นั้นมันไม่สามารถลาก copy แล้วให้เปลี่ยนเป็นเซลถัดไปตามที่เรา copy ใช่ไหมครับ เพราะจริงๆ แล้วผมสามารถใช้สูตร =INDIRECT("'"&$B$1&"'!a5" ใน cell A5 ได้เลย เพียงแต่ว่าเวลาลากแล้วมันไม่เปลี่ยนเป็น A6 A7 ตามใช่ไหมครับ

2. ทำไมในสูตร offset ที่ใช้ช่วงระหว่าง ROWS(A$5:A5)-1 ต้องมี -1 ครับเพราะอะไรครับ
peepoman
Member
Member
Posts: 5
Joined: Mon Sep 18, 2017 2:21 pm

Re: ใช้สูตร IF ดึกขัอมูลจาก Sheet อื่นมาโชว์

#8

Post by peepoman »

ขอสอบถามเพิ่มเติมครับ ในกรณีสลับกันครับ ถ้าสมมุติว่าผมกรอกข้อมูลจาก Sheet แรกโดยซื่อร้าน และให้ข้อมูลใน Row นั้นทั้งหมดไปบันทึกลงใน Sheet ของซื่อร้านนั้นๆ เลยแบบนี้ต้องใช้สูตรแบบไหนครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ใช้สูตร IF ดึกขัอมูลจาก Sheet อื่นมาโชว์

#9

Post by snasui »

peepoman wrote:ผมมีคำถามเพิ่มเติมครับ

1. ที่อาจารย์ใช้ สูตร =OFFSET(INDIRECT("'"&$B$1&"'!a5"),ROWS(A$5:A5)-1,COLUMNS($A5:A5)-1) เพราะว่าในสูตร INDIRECT นั้นมันไม่สามารถลาก copy แล้วให้เปลี่ยนเป็นเซลถัดไปตามที่เรา copy ใช่ไหมครับ เพราะจริงๆ แล้วผมสามารถใช้สูตร =INDIRECT("'"&$B$1&"'!a5" ใน cell A5 ได้เลย เพียงแต่ว่าเวลาลากแล้วมันไม่เปลี่ยนเป็น A6 A7 ตามใช่ไหมครับ

2. ทำไมในสูตร offset ที่ใช้ช่วงระหว่าง ROWS(A$5:A5)-1 ต้องมี -1 ครับเพราะอะไรครับ
:D ข้อ 1 เข้าใจถูกต้องแล้วครับ
ข้อ 2 เป็นลักษณะการใช้งานของฟังก์ชั่น Offset โดยมีไวยากรณ์คือ =offset(reference,rows,cols,height,width)

ตรง rows เป็นจำนวนบรรทัดที่ห่างจาก reference และ cols จะเป็นจำนวนคอลัมน์ที่เริ่มจาก reference ซึ่งทั้งสองตำแหน่งจะเริ่มจาก 0

ROWS(A$5:A5) คือจำนวนบรรทัดในช่วง A5:A5 มีค่าเท่ากับ 1 จึงต้องหักออกด้วย 1 เพื่อให้เป็น 0

ศึกษา Offset จาก VDO ด้านล่างครับ


peepoman wrote:ขอสอบถามเพิ่มเติมครับ ในกรณีสลับกันครับ ถ้าสมมุติว่าผมกรอกข้อมูลจาก Sheet แรกโดยซื่อร้าน และให้ข้อมูลใน Row นั้นทั้งหมดไปบันทึกลงใน Sheet ของซื่อร้านนั้นๆ เลยแบบนี้ต้องใช้สูตรแบบไหนครับ
ศึกษางานลักษณะนี้ได้จาก Link นี้ครับ

Post Reply