: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

วิธีหาตำแหน่งของช่วงข้อมูล

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
navapalo
Member
Member
Posts: 29
Joined: Tue May 11, 2010 1:46 pm

วิธีหาตำแหน่งของช่วงข้อมูล

#1

Post by navapalo »

ต้องการหาค่าที่อยู่ในช่วงของซีเรียลนัมเบอร์

ที่คอลัมน์ B มีค่าของซีเรียลนัมเบอร์ เช่น
B1=> S/N
B2=>A12000000-100
B3=>A12000200-300
B4=>A12000301-350
B5=>A12000351-359

ต้องการหาว่าค่าของข้อมูลที่ต้องการอยู่ในช่วงของซีเรียลนัมเบอร์ใด
เช่น ป้อน A12000205 ได้ค่าที่ต้องการ => ตำแหน่งที่ข้อมูลอยู่ คือ B3

ไม่ทราบว่าต้องใช้วิธีการใด รบกวนด้วยครับ
ปล. ผมใช้ OpenOffice 3.2 (วิธีการหรือสูตรน่าจะเหมือนกันกับ EXCEL จะเอาไปประยุกต์อีกที)
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#2

Post by bank9597 »

:D ลองตามนี้ครับ ว่าถูกต้องไหม

ที่ E3 คีย์ =IF(ISNA(MATCH(E2,$B$1:$B$10,0)),"","B"&MATCH(E2,$B$1:$B$10,0))
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
ChoBkuN
Member
Member
Posts: 239
Joined: Tue Nov 29, 2011 3:43 pm

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#3

Post by ChoBkuN »

ลองอีกซักอัน (^///^)
E3 ="B"&MATCH(VLOOKUP("A"&SUBSTITUTE(E2,"A","")+1,B:B,1),B:B,0)
navapalo
Member
Member
Posts: 29
Joined: Tue May 11, 2010 1:46 pm

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#4

Post by navapalo »

ใช้ได้แล้ว :D
ขอบคุณทุกๆท่านครับ.
navapalo
Member
Member
Posts: 29
Joined: Tue May 11, 2010 1:46 pm

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#5

Post by navapalo »

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

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#6

Post by snasui »

:D แก้โดยการเรียงลำดับครับ กรณีไม่เรียงแล้วต้องการให้แสดงผลถูกต้องในคอลัมน์ B จะต้องแสดงออกมาให้หมดทุกค่าเท่าที่มี ไม่ใช่แสดงเป็นช่วงครับ

กรณีเรียงลำดับค่าในคอลัมน์ B สามารถใช้อีกสูตรตามด้านล่าง

="B"&MATCH(E2,INDEX(LEFT($B$2:$B$5,9),0))

กรณีเป็นโปรแกรมอื่นที่ไม่ใช่ Excel ให้ถามในหมวด Other นะครับ แม้จะเป็น OpenOffice หรืออื่น ๆ ที่มีลักษณะการใช้งานเหมือน Excel ในความรู้สึกผมโปรแกรมพวกนี้ยังมีความสามารถต่างกับ Excel มากครับ
navapalo
Member
Member
Posts: 29
Joined: Tue May 11, 2010 1:46 pm

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#7

Post by navapalo »

snasui wrote::D แก้โดยการเรียงลำดับครับ กรณีไม่เรียงแล้วต้องการให้แสดงผลถูกต้องในคอลัมน์ B จะต้องแสดงออกมาให้หมดทุกค่าเท่าที่มี ไม่ใช่แสดงเป็นช่วงครับ

กรณีเรียงลำดับค่าในคอลัมน์ B สามารถใช้อีกสูตรตามด้านล่าง

="B"&MATCH(E2,INDEX(LEFT($B$2:$B$5,9),0))

กรณีเป็นโปรแกรมอื่นที่ไม่ใช่ Excel ให้ถามในหมวด Other นะครับ แม้จะเป็น OpenOffice หรืออื่น ๆ ที่มีลักษณะการใช้งานเหมือน Excel ในความรู้สึกผมโปรแกรมพวกนี้ยังมีความสามารถต่างกับ Excel มากครับ

ลองเรียงลำดับ ="B"&MATCH(E2,INDEX(LEFT($B$2:$B$5,9),0)) แล้วขึ้น Error:504 ครับ
หรือว่าพอมีวิธีไหนไหมครับที่ทำให้ A12000001-020 เป็น A12000001,A12000002,A12000003 ไปจนถึง A12000020
หมายเหตุ ความต้องการคืออยากหาข้อมูลที่ต้องการว่าอยู่ตรงชุดไหน เนื่องจากข้อมูลมีจำนวนมาก และในการป้อนข้อมูลตอนแรกไม่ได้แยกเอาไว้
ขอบคุณครับ.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#8

Post by bank9597 »

:D ลองตามนี้ครับ

ที่ F2 คีย์ =SUBSTITUTE(B2,"-","") คัดลอกลงมา

คัดลองค่าที่ได้ ไปวางที่ B2 โดยวางพิเศษ คือ วางเฉพาะค่า เท่านั้น
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#9

Post by snasui »

:D
navapalo wrote:ลองเรียงลำดับ ="B"&MATCH(E2,INDEX(LEFT($B$2:$B$5,9),0)) แล้วขึ้น Error:504 ครับ
สร้างคอลัมน์ขึ้นมาใหม่ โดยลองตามนี้ครับ
  1. ที่ A2 คีย์
    =LEFT(B2,9)
    Enter > Copy ลงด้านล่าง
  2. ที่ E3 คีย์
    ="B"&MATCH(E2,A:A)
    Enter
navapalo
Member
Member
Posts: 29
Joined: Tue May 11, 2010 1:46 pm

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#10

Post by navapalo »

snasui wrote::D
navapalo wrote:ลองเรียงลำดับ ="B"&MATCH(E2,INDEX(LEFT($B$2:$B$5,9),0)) แล้วขึ้น Error:504 ครับ
สร้างคอลัมน์ขึ้นมาใหม่ โดยลองตามนี้ครับ
  1. ที่ A2 คีย์
    =LEFT(B2,9)
    Enter > Copy ลงด้านล่าง
  2. ที่ E3 คีย์
    ="B"&MATCH(E2,A:A)
    Enter
แสดงตำแหน่งไม่ถูกต้องครับ พิมพ์ A12000501 ตำแหน่งที่ถูกคือ B3 แต่ค่าที่ได้คือ B5 ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
ysamroeng
Member
Member
Posts: 105
Joined: Fri Feb 05, 2010 11:17 am

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#11

Post by ysamroeng »

navapalo wrote: แสดงตำแหน่งไม่ถูกต้องครับ พิมพ์ A12000501 ตำแหน่งที่ถูกคือ B3 แต่ค่าที่ได้คือ B5 ครับ
ต้องเรียงลำดับข้อมูลในตารางก่อนครับ
You do not have the required permissions to view the files attached to this post.
มีการศึกษา (Education) ไม่ได้แปลว่า มีความรู้ (Knowledge)
http://www.e-hrit.com
navapalo
Member
Member
Posts: 29
Joined: Tue May 11, 2010 1:46 pm

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#12

Post by navapalo »

ysamroeng wrote:
navapalo wrote: แสดงตำแหน่งไม่ถูกต้องครับ พิมพ์ A12000501 ตำแหน่งที่ถูกคือ B3 แต่ค่าที่ได้คือ B5 ครับ
ต้องเรียงลำดับข้อมูลในตารางก่อนครับ
ขอบคุณครับ ถ้าใช้วิธีนี้ก็ต้องมาเรียงลำดับข้อมูลทุกครั้งที่ต้องการค้นหา ซึ่งไม่สะดวกในการทำงาน เพราะข้อมูลมีเยอะและเมื่อมีการคีย์ข้อมูลเพิ่ม
ข้อมูลที่เพิ่มเข้ามาก็ไม่ได้เรียงลำดับครับ
User avatar
ChoBkuN
Member
Member
Posts: 239
Joined: Tue Nov 29, 2011 3:43 pm

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#13

Post by ChoBkuN »

ถ้าลอง sort ข้อมูล ที่ คอลัมน์ C แทน
copy column b มาใส่ คอลัมน์ C
แล้วก็ sort เฉพาะ คอลัมน์ C

E4 พิมพ์ ="B"&MATCH(VLOOKUP("A"&SUBSTITUTE(E2,"A","")+1,C:C,1),B:B,0)

จะได้ไหมครับ ??
You do not have the required permissions to view the files attached to this post.
User avatar
ChoBkuN
Member
Member
Posts: 239
Joined: Tue Nov 29, 2011 3:43 pm

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#14

Post by ChoBkuN »

มีอีกอย่างครับ
คอลัมน์ A ใส่เลขที่ row ไว้ ลงไปเรื่อยๆ
C 3 ใส่ =LEFT(B2,9)
D 3 ใส่ =LEFT(B2,9-(LEN(B2)-SEARCH("-",B2,1)))&RIGHT(B2,LEN(B2)-SEARCH("-",B2,1))
กด double click มุมขวา cell ที่ใส่สูตร เพื่อ ลากลงแบบ auto

F 3 คีย์ =SUMPRODUCT(--(F2>=C:C),--(F2<=D:D),A:A)
You do not have the required permissions to view the files attached to this post.
User avatar
ChoBkuN
Member
Member
Posts: 239
Joined: Tue Nov 29, 2011 3:43 pm

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#15

Post by ChoBkuN »

ChoBkuN wrote: F 3 คีย์ =SUMPRODUCT(--(F2>=C:C),--(F2<=D:D),A:A)
F 3 คีย์ = "B"&SUMPRODUCT(--(F2>=C:C),--(F2<=D:D),A:A)
navapalo
Member
Member
Posts: 29
Joined: Tue May 11, 2010 1:46 pm

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#16

Post by navapalo »

ChoBkuN wrote:
ChoBkuN wrote: F 3 คีย์ =SUMPRODUCT(--(F2>=C:C),--(F2<=D:D),A:A)
F 3 คีย์ = "B"&SUMPRODUCT(--(F2>=C:C),--(F2<=D:D),A:A)
ใช้ได้แล้วครับ ขอบคุณทุกๆท่านครับ :D
User avatar
ChoBkuN
Member
Member
Posts: 239
Joined: Tue Nov 29, 2011 3:43 pm

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#17

Post by ChoBkuN »

บังเอิญว่าทำไว้แล้ว และคิดว่าสมบูรณ์ที่สุด
เลยฝากแปะไว้ครับ ^ ^
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: วิธีหาตำแหน่งของช่วงข้อมูล

#18

Post by snasui »

navapalo wrote:
ChoBkuN wrote:
ChoBkuN wrote: F 3 คีย์ =SUMPRODUCT(--(F2>=C:C),--(F2<=D:D),A:A)
F 3 คีย์ = "B"&SUMPRODUCT(--(F2>=C:C),--(F2<=D:D),A:A)
ใช้ได้แล้วครับ ขอบคุณทุกๆท่านครับ :D
:lol: ใน OpenOffice ใช้สูตร Sumproduct แบบนี้ได้ด้วยหรือครับ :?: นับว่าพัฒนาขึ้นอย่างมากครับ :mrgreen:
Post Reply