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
ลองตามนี้ครับ ว่าถูกต้องไหม
ที่ 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
ใช้ได้แล้ว
ขอบคุณทุกๆท่านครับ.
Re: วิธีหาตำแหน่งของช่วงข้อมูล
Posted: Sat Jul 21, 2012 10:56 am
by navapalo
ในกรณีที่เลขชุดซีเรียลไม่เรียงลำดับจากน้อยไปมาก ค่าที่ได้จากสูตรจะไม่ตรงครับ ต้องแก้ไขอย่างไร.
Re: วิธีหาตำแหน่งของช่วงข้อมูล
Posted: Sat Jul 21, 2012 11:09 am
by snasui
แก้โดยการเรียงลำดับครับ
กรณีไม่เรียงแล้วต้องการให้แสดงผลถูกต้องในคอลัมน์ 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: แก้โดยการเรียงลำดับครับ
กรณีไม่เรียงแล้วต้องการให้แสดงผลถูกต้องในคอลัมน์ 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
ลองตามนี้ครับ
ที่ F2 คีย์ =SUBSTITUTE(B2,"-","") คัดลอกลงมา
คัดลองค่าที่ได้ ไปวางที่ B2 โดยวางพิเศษ คือ วางเฉพาะค่า เท่านั้น
Re: วิธีหาตำแหน่งของช่วงข้อมูล
Posted: Sat Jul 21, 2012 4:27 pm
by snasui
navapalo wrote:ลองเรียงลำดับ ="B"&MATCH(E2,INDEX(LEFT($B$2:$B$5,9),0)) แล้วขึ้น Error:504 ครับ
สร้างคอลัมน์ขึ้นมาใหม่ โดยลองตามนี้ครับ
- ที่ A2 คีย์
=LEFT(B2,9)
Enter > Copy ลงด้านล่าง
- ที่ E3 คีย์
="B"&MATCH(E2,A:A)
Enter
Re: วิธีหาตำแหน่งของช่วงข้อมูล
Posted: Mon Jul 23, 2012 8:58 am
by navapalo
snasui wrote: navapalo wrote:ลองเรียงลำดับ ="B"&MATCH(E2,INDEX(LEFT($B$2:$B$5,9),0)) แล้วขึ้น Error:504 ครับ
สร้างคอลัมน์ขึ้นมาใหม่ โดยลองตามนี้ครับ
- ที่ A2 คีย์
=LEFT(B2,9)
Enter > Copy ลงด้านล่าง
- ที่ 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)
ใช้ได้แล้วครับ ขอบคุณทุกๆท่านครับ
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)
ใช้ได้แล้วครับ ขอบคุณทุกๆท่านครับ
ใน OpenOffice ใช้สูตร Sumproduct แบบนี้ได้ด้วยหรือครับ
นับว่าพัฒนาขึ้นอย่างมากครับ