Page 1 of 1

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

Posted: Fri Jul 20, 2012 1:07 pm
by navapalo
ต้องการหาค่าที่อยู่ในช่วงของซีเรียลนัมเบอร์

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

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

ไม่ทราบว่าต้องใช้วิธีการใด รบกวนด้วยครับ
ปล. ผมใช้ OpenOffice 3.2 (วิธีการหรือสูตรน่าจะเหมือนกันกับ EXCEL จะเอาไปประยุกต์อีกที)
ขอบคุณครับ

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

Posted: Fri Jul 20, 2012 1:16 pm
by bank9597
:D ลองตามนี้ครับ ว่าถูกต้องไหม

ที่ E3 คีย์ =IF(ISNA(MATCH(E2,$B$1:$B$10,0)),"","B"&MATCH(E2,$B$1:$B$10,0))

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

Posted: Fri Jul 20, 2012 2:12 pm
by ChoBkuN
ลองอีกซักอัน (^///^)
E3 ="B"&MATCH(VLOOKUP("A"&SUBSTITUTE(E2,"A","")+1,B:B,1),B:B,0)

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

Posted: Fri Jul 20, 2012 4:39 pm
by navapalo
ใช้ได้แล้ว :D
ขอบคุณทุกๆท่านครับ.

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

Posted: Sat Jul 21, 2012 10:56 am
by navapalo
ในกรณีที่เลขชุดซีเรียลไม่เรียงลำดับจากน้อยไปมาก ค่าที่ได้จากสูตรจะไม่ตรงครับ ต้องแก้ไขอย่างไร.

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

Posted: Sat Jul 21, 2012 11:09 am
by snasui
:D แก้โดยการเรียงลำดับครับ กรณีไม่เรียงแล้วต้องการให้แสดงผลถูกต้องในคอลัมน์ B จะต้องแสดงออกมาให้หมดทุกค่าเท่าที่มี ไม่ใช่แสดงเป็นช่วงครับ

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

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

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

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

Posted: Sat Jul 21, 2012 1:41 pm
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
หมายเหตุ ความต้องการคืออยากหาข้อมูลที่ต้องการว่าอยู่ตรงชุดไหน เนื่องจากข้อมูลมีจำนวนมาก และในการป้อนข้อมูลตอนแรกไม่ได้แยกเอาไว้
ขอบคุณครับ.

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

Posted: Sat Jul 21, 2012 2:19 pm
by bank9597
:D ลองตามนี้ครับ

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

คัดลองค่าที่ได้ ไปวางที่ B2 โดยวางพิเศษ คือ วางเฉพาะค่า เท่านั้น

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

Posted: Sat Jul 21, 2012 4:27 pm
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

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

Posted: Mon Jul 23, 2012 8:58 am
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 ครับ

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

Posted: Mon Jul 23, 2012 10:40 am
by ysamroeng
navapalo wrote: แสดงตำแหน่งไม่ถูกต้องครับ พิมพ์ A12000501 ตำแหน่งที่ถูกคือ B3 แต่ค่าที่ได้คือ B5 ครับ
ต้องเรียงลำดับข้อมูลในตารางก่อนครับ

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

Posted: Mon Jul 23, 2012 11:08 am
by navapalo
ysamroeng wrote:
navapalo wrote: แสดงตำแหน่งไม่ถูกต้องครับ พิมพ์ A12000501 ตำแหน่งที่ถูกคือ B3 แต่ค่าที่ได้คือ B5 ครับ
ต้องเรียงลำดับข้อมูลในตารางก่อนครับ
ขอบคุณครับ ถ้าใช้วิธีนี้ก็ต้องมาเรียงลำดับข้อมูลทุกครั้งที่ต้องการค้นหา ซึ่งไม่สะดวกในการทำงาน เพราะข้อมูลมีเยอะและเมื่อมีการคีย์ข้อมูลเพิ่ม
ข้อมูลที่เพิ่มเข้ามาก็ไม่ได้เรียงลำดับครับ

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

Posted: Mon Jul 23, 2012 2:36 pm
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)

จะได้ไหมครับ ??

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

Posted: Mon Jul 23, 2012 3:26 pm
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)

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

Posted: Mon Jul 23, 2012 4:56 pm
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)

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

Posted: Mon Jul 23, 2012 5:10 pm
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

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

Posted: Mon Jul 23, 2012 5:20 pm
by ChoBkuN
บังเอิญว่าทำไว้แล้ว และคิดว่าสมบูรณ์ที่สุด
เลยฝากแปะไว้ครับ ^ ^

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

Posted: Mon Jul 23, 2012 5:59 pm
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: