Page 1 of 1

รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Fri Dec 21, 2012 3:58 pm
by nongnok
รบกวนถามคะ

คือมีตัวเลข

0 0 184 0 123 0 173 196

และอยากให้เรียงค่าน้อยไปมากโดยไม่นับรวม 0 จะสามารถใช้ฟังก์ชันไหนได้คะ

ซึ่งค่าในแต่ละช่องจะเปลี่ยนไปตามข้อมูลคะ

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Fri Dec 21, 2012 4:09 pm
by snasui
:D ลองตามนี้ครับ

ที่ K2 คีย์

=IFERROR(SMALL(IF($B2:$J2>0,$B2:$J2),COLUMNS($K2:K2)),"")

Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง

Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Fri Dec 21, 2012 4:21 pm
by nongnok
ขอโทษคะ ขอถามใหม่คะ

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

รบกวนด้วยคะ

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Fri Dec 21, 2012 4:58 pm
by bank9597
:D ไม่เข้าใจครับ ในไฟล์แนบคอลัมน์ L มีอะไรผิดพลาด แล้วมีอะไรซ้ำตรงไหน อย่างไร ลองทำตัวอย่างคำตอบที่ต้องการให้มาให้ดูหน่อยครับ
เพิ่มเติม
ในแต่ละแถว ไม่มีค่าซ้ำกันเลย เว้นแต่ที่เป็นตัว x เท่านั้น แถวที่คุณกล่าวมาคือ row หรือ column ครับ

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Fri Dec 21, 2012 5:21 pm
by nongnok
ขอโทษด้วยคะอาจจะอธิบายไม่ละเอียด

จากไฟล์ล่าสุด คือ เส้นทางจาก A ไป 1 2 3 ... และจาก B ไป 1 2 3 ... ประมาณนี้คะ

และต้องการเลือกค่าที่น้อยที่สุดสำหรับ A ในการไปจุดใดจุดหนึ่งคะ ซึ่งถ้าดูจากตารางจะเห็นว่าได้ค่า A ไปที่ 6 คะ และปัญหาคือ Column ที่ 8 มี D, F, I ที่ไปจุดเดียวกันคะ ซึ่งเป็นค่าส่วนที่เรียกว่าซ้ำคะ

ปัญหาคือถ้าอยากหาว่า a,b,c,d,e,f,g,h,i,j ไป1,2,3,4,5,6,7,8,9 ที่ได้ค่าน้อยสุดและไม่ซ้ำกันในรูปแบบที่กล่าวไปแล้วจะ พอจะได้ไหมคะ

รบกวนอีกครั้งคะ

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Sat Dec 22, 2012 7:40 am
by snasui
:D ให้แนบตัวอย่างคำตอบที่ถูกต้องโดยอ้างอิงจากไฟล์ล่าสุดมาด้วย จะได้เข้าใจตรงกันครับ

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Sat Dec 22, 2012 11:31 am
by bank9597
:D พอเข้าใจแล้วครับ แต่ว่าต้องเลือกให้แสดงทีละรหัส เช่น a น้อยที่สุดคือค่าใด ตรงกับคอลัมน์โดยที่ไม่ให้ซ้ำกับคอลัมน์อื่น

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Sat Dec 22, 2012 2:01 pm
by nongnok
ขอรบกวนอีกทีค่ะ

อยากทราบว่า ถ้าจะต้องเดินทางจาก WH ไปจุดต่าง ๆ ให้ครบทุกจุดแล้วค่อยกลับมาที่ WH เป็นที่สุดท้าย
จะต้องมีการ set ค่า ใน solver ยังไงบ้างค่ะ

คือตอนนี้สามารถ solve หาในแต่ละจุดที่จะเดินทาไปได้แล้วคะ แต่ปัญหาตอนนี้คือผลที่ออกมาเป็นการเดินทางไปเพียงจุดเดียวแล้วกลับมาที่ WH คะ ซึ่งผลลัพท์ที่ต้องการคือ เดินทางออกจาก WH และไปครบทุกจุดจากนั้นกลับมายัง WH คะ สามารถดูได้จากไฟล์ที่แนบมาคะ

ขออธิบายตารางใน Excel ว่า Row เป็นจุดเริ่มเดินทาง Column เป็นจุดปลายทาง คะ

ขอบคุณคะ

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Sat Dec 22, 2012 2:19 pm
by snasui
:D กรณีเป็นการถามคนละเรื่องให้เปิดกระทู้ใหม่ครับ สำหรับคำถามเดิม ช่วยแสดงคำตอบที่ถูกต้องมาเป็นตัวอย่างด้วยครับ

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Sat Dec 22, 2012 2:40 pm
by nongnok
ขอโทษคะที่ทำสับสน

คือเป็นปัญหาเดิมคะ แต่ว่าตอนแรกคิดว่าจะใช้สูตรในการคำนวณหาค่าคะ แต่ทำแล้วไม่ได้จึงลองวิธีใหม่ด้วยการใช้ Solver เข้ามาช่วยคะ

และเนื่องจากยังทำ Solver ไม่สำเร็จจึงไม่แน่ใจคำตอบที่ควรเป็นคะ

ถ้าในคำถามเดิมที่ใช้สูตรคำนวณจะยังไม่ได้คำตอบที่เป็น optimal คะ ตอนนี้จึงเปลี่ยนมาใช้ Solver คะ

ไม่แน่ใจว่าต้องตั้งกระทู้ใหม่หรือไม่คะ :D รบกวนแนะนำด้วยคะ

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Sat Dec 22, 2012 3:24 pm
by snasui
:D กรณีเป็นคำถามเดิม ให้ตอบตามที่ผมถามมาดูก่อนครับ เพื่อจะได้เข้าใจตรงกันว่าต้องการคำตอบเป็นอย่างไร

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Sat Dec 22, 2012 3:45 pm
by nongnok
ได้ทำผลลัพท์ด้วยมือ จากไฟล์แรกที่มีการเดินทางไป 4 จุด มาคะ ซึ่งสุดท้ายต้องทำการเปรียบเทียบหาค่าต่ำที่สุดของผลลัพท์คะ จึงมีความคิดที่จะใช้ Solver คะ

ไฟล์ก่อนหน้านี้เป็นการเดินทางไปทุกจุดคะ ทำให้มีข้อมูลเพิ่มขึ้นมาคะ อาจจะดูเหมือนคนละอันกัน แต่เป็นอันเดียวกันที่มีข้อมูลเยอะขึ้นคะ

ขอบคุณคะ

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Sat Dec 22, 2012 8:34 pm
by snasui
:lol: ก็ยังไม่เข้าใจอยู่ดีครับ 1, 4, 8, 9, 6, 1 ที่เป็นตัวเลือกนั้นมีหลักการพิจารณาอย่างไรเพื่อให้ได้ลำดับนั้นครับ :?:

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Mon Dec 24, 2012 10:37 am
by nongnok
ขอโทษคะที่มาตอบช้า

คือเป็นการเดินทางคะ จาก จุดที่ 1 ไป จุดที่ 4
,จุดที่ 4 ไป จุดที่ 8, จุดที่ 8 ไป จุดที่ 9, จุดที่ 9 ไป จุดที่ 6, จุดที่ 6 ไป กลับไปจุดที่ 1


เป็นการวนที่กลับไปยังจุดเดิมคือจุดที่ 1 คะ

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Mon Dec 24, 2012 11:16 am
by snasui
:D แต่ละจุดที่เดินทางไปย่อมต้องมีที่มาครับ ลำดับที่บอกมานั้นพิจารณาอย่างไรว่าต้องไปตามจุดนั้น ๆ ตามลำดับ หรือไปตามลำดับนั้น ๆ เพื่อต้องการอะไรหรือเพื่อเหตุผลใดครับ :?:

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Mon Dec 24, 2012 11:42 am
by nongnok
ต้องการค่า Sum ของช่องที่เดินทางไปเป็นค่า Min คะ

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

ขอบคุณคะ

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Mon Dec 24, 2012 12:37 pm
by snasui
:D ผมตอบตามที่ผมเข้าใจแล้วกันครับ จากไฟล์ที่แนบมาล่าสุด

เข้าใจว่า A2:A11 คือลำดับของเส้นทาง, B1:J1 คือค่าลำดับของตำแหน่ง, B2:J11 คือระยะทางจากที่ใด ๆ มายังตำแหน่งนั้น ๆ

สิ่งที่ต้องการคือในแต่ละเส้นทางให้หาค่าที่น้อยที่สุดว่าเป็นเท่าไรแล้วนำตำแหน่งมาใช้ เช่น

เส้นทางลำดับที่ 1 มีค่าที่น้อยที่สุดคือ 123 อยู่ที่เซลล์ G2 แต่ค่าลำดับคือ 6 อยู่ที่เซลล์ G1

ในการหาค่าที่น้อยที่สุดในเส้นทางที่ 2 จะต้องไม่เลือกลำดับที่ 6 เข้ามาพิจารณาอีก เนื่องจากถูกเลือกใช้ไปแล้วตามด้านบน สำหรับเส้นทางต่อ ๆ ไปก็พิจารณาในลักษณะเช่นเดียวกันนี้ และหากผมเข้าใจถูกต้อง ลองตามด้านล่างครับ
  1. เซลล์ L2 คีย์สูตรเพื่อหาค่าลำดับ
    =IFERROR(MATCH(MIN(IF(1-ISNUMBER(MATCH(COLUMN(B2:J2)-COLUMN(B2)+1,L$1:L1,0)),B2:J2)),B2:J2,0),0)
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  2. เซลล์ M2 คีย์เพื่อนำระยะทางที่น้อยที่สุดมาแสดง
    =IF(L2=0,0,INDEX(B2:J2,L2))
    Enter > Copy ลงด้านล่าง
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Mon Dec 24, 2012 5:02 pm
by nongnok
รู้สึกรบกวนอาจารย์มากเลยคะ :)

คือได้ลองนำสูตรไปใช้แต่มีข้อจำกัดอีกคะคือ

1. Row 2 เป็นจุดเริ่มต้น และ Row 11 เป็นจุดสิ้นสุดคะ
2. เมื่อนำไปใช้กับตารางที่มีค่าเต็มทุกช่องแล้ว จะติดปัญหาคือ
2.1 ผลลัพท์จะไปตรงช่องของตัวเองคือ จาก sheet 2 จุด 4C04 ไปยัง 4C04 คะ ซึ่งได้พยายามแก้ไขด้วยการใส่ค่าสูงๆ แต่ก็ยังถูกเลือกคะ
2.2 เริ่มที่จุดเริ่มต้นและจุดต่อไปเป็นจุดสิ้นสุดคะ

ได้แนบไฟล์ที่ทำการทดลองมาด้วยคะ โดยมี 2 sheets คะ

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Mon Dec 24, 2012 5:32 pm
by snasui
:D ฟอรั่มนี้ถามได้เต็มที่ ไม่มี Limit ว่าถามได้เพียงเท่านั้นเท่านี้คำถาม ไม่ต้องเกรงใจแต่อย่างใดเนืองจากเปิดขึ้นมาเพื่อการถามตอบโดยเฉพาะครับ :lol:

จากไฟล์ทีแนบมาล่าสุดยังปรับสูตรมาไม่ถูกต้อง ผมได้เพิ่มและปรับสูตรให้ใหม่ ลองตามด้านล่างครับ

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

=IFERROR(IF(MATCH($A2,$A$2:$A$11,0)=1,MATCH(MIN(B2:J2),B2:J2,0),MATCH(MIN(IF(1-ISNUMBER(MATCH(COLUMN(B1:J1)-COLUMN(B1)+1,L$1:L1,0)),B2:J2)),B2:J2,0)),0)

Ctrl+Shift+Enter > Copy ลงด้านล่าง

Re: รบกวนช่วยหาวิธีเลือกเลขตามลำดับน้อยไปมากลงในแต่ละช่องคะ

Posted: Tue Jan 08, 2013 10:16 am
by nongnok
ขอบคุณมากคะ