Page 3 of 5

Re: อยากหาตำแหน่ง

Posted: Sun Jul 19, 2015 9:43 pm
by snasui
:D นั่นคือข้อจำกัดของการใช้สูตรครับ

หากจะพอปรับได้คือตามไฟล์แนบครับ

Re: อยากหาตำแหน่ง

Posted: Mon Jul 20, 2015 6:57 am
by chandat
WOW ดีมากเลยครับ

ถ้าจะเพิ่มความยาวตำแหน่ง AJ ทำอย่างไรครับ เวลานี้ยาว 1010 เส้น ระยะที่ผมใช้มีถึง 2500เส้น

รวมคำตอบมาไว้ที่หน้าที่ 1 ตรงตำแหน่งช่องที่เวลานี้เขียน 1-40. ยากไหมครับ
A = 1-5 34-38
B = 6-7
C = 8-13
F = 39-40
E = 1-40

ขอบคุณครับ

Re: อยากหาตำแหน่ง

Posted: Mon Jul 20, 2015 10:05 am
by chandat
รายละเอียดของลายผ้าส่วนใหญ่ไม่เกิน 45รายการ ถ้ามันเกินจากนี้ไปเช่นมีสัก 60รายการ ต้องไปแก้ที่จุดไหนบ้างครับ

ถ้าจะมีการถามล่วงหน้าได้ ว่าจะใช้ กี่ line กำหนดได้เลย (สร้างแบบฟอร์ม) เพราะทุกวันนี้ ต้องมาลบส่วนเกินออก
อยากที่เห็นใน test 2 test3 สั้นๆ นั่นคือลบส่วนเกินออกอีกที

ทุกวันนี้ผมต้องสร้างแบบฟอร์ม 4แบบ ไว้ใน folderของลูกค้าแต่ละเจ้า อันที่จริงคล้ายกัน ต่างกันที่ คำนวณช่อง I ไปคณู L หรือ P
(ความวายของริ้วคูณด้วย cm หรือ inch ) เปิด file ง่ายกว่าไปแก้สูตร

ส่วนที่ต้องสร้าง แบบฟอร์ม 4แบบ ไว้ใน folderของลูกค้าแต่ละเจ้า ก็เพราะเวลาsaveงาน จะได้ไม่ปนกัน
แยกลูกค้ากันไป แต่เมื่อมีการเปลี่ยน ฟอร์มใหม่ก็ต้องไปไล่เปลี่ยนทุกฟอร์มทุกfloder


ขอบคุณครับ

Re: อยากหาตำแหน่ง

Posted: Mon Jul 20, 2015 6:24 pm
by snasui
chandat wrote:ถ้าจะเพิ่มความยาวตำแหน่ง AJ ทำอย่างไรครับ เวลานี้ยาว 1010 เส้น ระยะที่ผมใช้มีถึง 2500เส้น
:D สามารถ Copy สูตรในคอลัมน์ AJ ลงไปด้านล่างตามต้องการครับ นอกจากนั้นก็ต้องแก้ไขสูตรที่เซลล์ AL2 โดยปรับช่วงข้อมูลให้สอดคล้องกับค่าบรรทัดในคอลัมน์ AJ
chandat wrote:รวมคำตอบมาไว้ที่หน้าที่ 1 ตรงตำแหน่งช่องที่เวลานี้เขียน 1-40. ยากไหมครับ
การทำเช่นนั้นไม่ใช่เรื่องง่าย ต้องใช้พื้นที่ช่วยและต้องพึ่งสูตรแบบ Array ในตอนนี้ผมยังไม่แนะนำ ขอให้ศึกษาสูตรที่ให้ไปจนเข้าใจพอที่จะปรับปรุงเองได้แล้วค่อยไปยังส่วนของสูตร Array ครับ
chandat wrote:รายละเอียดของลายผ้าส่วนใหญ่ไม่เกิน 45รายการ ถ้ามันเกินจากนี้ไปเช่นมีสัก 60รายการ ต้องไปแก้ที่จุดไหนบ้างครับ
ต้อง Copy สูตรในคอลัมน์ CI ไปด้านขวา และแก้ไขสูตรในเซลล์ M2 โดยปรับช่วงข้อมูลให้สอดคล้องกับคอลัมน์ข้างต้นที่ขยายไปทางขวา
chandat wrote:ถ้าจะมีการถามล่วงหน้าได้ ว่าจะใช้ กี่ line กำหนดได้เลย (สร้างแบบฟอร์ม) เพราะทุกวันนี้ ต้องมาลบส่วนเกินออก
อยากที่เห็นใน test 2 test3 สั้นๆ นั่นคือลบส่วนเกินออกอีกที

ทุกวันนี้ผมต้องสร้างแบบฟอร์ม 4แบบ ไว้ใน folderของลูกค้าแต่ละเจ้า อันที่จริงคล้ายกัน ต่างกันที่ คำนวณช่อง I ไปคณู L หรือ P
(ความวายของริ้วคูณด้วย cm หรือ inch ) เปิด file ง่ายกว่าไปแก้สูตร

ส่วนที่ต้องสร้าง แบบฟอร์ม 4แบบ ไว้ใน folderของลูกค้าแต่ละเจ้า ก็เพราะเวลาsaveงาน จะได้ไม่ปนกัน
แยกลูกค้ากันไป แต่เมื่อมีการเปลี่ยน ฟอร์มใหม่ก็ต้องไปไล่เปลี่ยนทุกฟอร์มทุกfloder
ในส่วนนี้ผมยังไม่เข้าใจและไม่เห็นภาพว่าต้องลบตรงไหน อย่างไร สำหรับสูตรมันจะแสดงข้อมูลด้วยจำนวนที่เท่ากับค่าในเซลล์ C47 มี 1000 ก็แสดงค่าในคอลัมน์ M เป็นต้นไปจำนวน 1000 รายการ เช่นนี้เป็นต้นครับ

Re: อยากหาตำแหน่ง

Posted: Mon Jul 20, 2015 9:46 pm
by chandat
ขอบคุณมากครับ
ผมจะศึกษารายการที่มีอยู่เวลานี้ก่อนครับ

Re: อยากหาตำแหน่ง

Posted: Tue Jul 21, 2015 10:22 am
by chandat
จะนำค่าใน H5ถึงH48( คือความยาวริ้วผ้าจริง) แปลงเป็นริ้วผ้าได้อย่างไรครับ

ลงใน sheet 3 ครับ

ผมแนบภาพตัวอย่าง

Re: อยากหาตำแหน่ง

Posted: Tue Jul 21, 2015 11:01 am
by snasui
chandat wrote:H5ถึงH48( คือความยาวริ้วผ้าจริง) แปลงเป็นริ้วผ้าได้อย่างไรครับ

ลงใน sheet 3 ครับ
:D H5:H48 ของชีทไหนครับที่จะเอาไป Sheet3 และเอาไปลงในเซลล์ไหน หากลงแล้วจะได้ค่าเป็นอย่างไร ช่วยอธิบายมาให้ละเอียดครับ

Re: อยากหาตำแหน่ง

Posted: Tue Jul 21, 2015 8:29 pm
by chandat
H5:H48 sheet 1 ครับ
ลงไวที่ sheet 3 ครับ

คือว่าผมจะเอาความยาวที่ได้จาก H5:H48 sheet 1 มาต่อกันครับ
ใส่สีเหมือนทำ กราฟdata base แบบ ต่อกันครับ
ผลออกมาจะเหมือนริ้วผ้า คล้ายกับที่แนบมาให้ดูครับ

Re: อยากหาตำแหน่ง

Posted: Tue Jul 21, 2015 8:35 pm
by chandat
สูตรmod ()
Image

อยากให้ช่วยนำมาเข้า test6.xlsx
ผลลงไว้ที่ sheet 4 ครับ
มีคนมาลงไว้ที่
http://pantip.com/topic/33931049/comment12


แบบใช้ VBA Output ตาม Column G

Option Explicit
Sub FindEndPoint()
Dim M, S, i, j, a, r As Integer
Dim z(10, 2) As Variant
M = Range("C14").Value: a = 0: r = 3
For i = 1 To 10
For j = 1 To 2
z(i, j) = Cells(3 + i, 2 + j).Value
Next j
Next i
For i = 1 To M
a = a + 1
Cells(r, 8 + a).Value = "X"
If a = 40 Then a = 0
If i = z(1, 1) Then Range("G4").Value = a & " - " & z(1, 2)
If i = z(1, 1) + z(2, 1) Then Range("G5").Value = a & " - " & z(2, 2)
If i = z(1, 1) + z(2, 1) + z(3, 1) Then Range("G6").Value = a & " - " & z(3, 2)
If i = z(1, 1) + z(2, 1) + z(3, 1) + z(4, 1) Then Range("G7").Value = a & " - " & z(4, 2)
If i = z(1, 1) + z(2, 1) + z(3, 1) + z(4, 1) + z(5, 1) Then Range("G8").Value = a & " - " & z(5, 2)
If i = z(1, 1) + z(2, 1) + z(3, 1) + z(4, 1) + z(5, 1) + z(6, 1) Then Range("G9").Value = a & " - " & z(6, 2)
If i = z(1, 1) + z(2, 1) + z(3, 1) + z(4, 1) + z(5, 1) + z(6, 1) + z(7, 1) Then Range("G10").Value = a & " - " & z(7, 2)
If i = z(1, 1) + z(2, 1) + z(3, 1) + z(4, 1) + z(5, 1) + z(6, 1) + z(7, 1) + z(8, 1) Then Range("G11").Value = a & " - " & z(8, 2)
If i = z(1, 1) + z(2, 1) + z(3, 1) + z(4, 1) + z(5, 1) + z(6, 1) + z(7, 1) + z(8, 1) + z(9, 1) Then Range("G12").Value = a & " - " & z(9, 2)
If i = z(1, 1) + z(2, 1) + z(3, 1) + z(4, 1) + z(5, 1) + z(6, 1) + z(7, 1) + z(8, 1) + z(9, 1) + z(10, 1) Then Range("G13").Value = a & " - " & z(10, 2)
Next i
End Sub

Re: อยากหาตำแหน่ง

Posted: Tue Jul 21, 2015 8:44 pm
by snasui
chandat wrote:H5:H48 sheet 1 ครับ
ลงไวที่ sheet 3 ครับ
:D ลงไว้เซลล์ไหน ลงแล้วแสดงผลเป็นอย่างไร ทำตัวอย่างคำตอบมาในไฟล์ Excel และต้องเป็นเช่นนี้เสมอ ผมจะได้เห็นตัวอย่างคำตอบครับ

ส่วนที่มีผู้ตอบไว้แล้วก็ให้ไปถามต่อในส่วนที่ยังสงสัย เจ้าของ Code จะได้กลับมาต่อยอดให้ได้ครับ

Re: อยากหาตำแหน่ง

Posted: Wed Jul 22, 2015 7:55 am
by chandat
สวัสดีครับ
เขียน code อย่างไร ให้สามารถแสดง กราฟแท่ง อัตโนมัต โดยใช้ข้อมูลจาก H5:H48
อย่างที่เห็นในtest7

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

Re: อยากหาตำแหน่ง

Posted: Wed Jul 22, 2015 12:51 pm
by chandat
แก้ไขคำถามข้างบน

เขียน code อย่างไร ให้สามารถแสดง กราฟแท่ง อัตโนมัต โดยใช้ข้อมูลจาก H5:H48
อย่างที่เห็นในtest7 แต่อิงสีจาก G5:G48
จัดสีตามนี้
1 น้ำตาล
2 แดง
3 ส้ม
4 เหลือง
5 เขียว
6 น้ำเงิน

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

Re: อยากหาตำแหน่ง

Posted: Wed Jul 22, 2015 3:33 pm
by snasui
chandat wrote:เขียน code อย่างไร ให้สามารถแสดง กราฟแท่ง อัตโนมัต โดยใช้ข้อมูลจาก H5:H48
:D สำหรับ Code ต้องทำตามกฎการใช้บอร์ดข้อ 5 ด้านบนเสมอครับ :roll:

Re: อยากหาตำแหน่ง

Posted: Wed Jul 22, 2015 9:40 pm
by chandat
แก้ไขคำถามข้างบน

ทำอย่างไร ให้สามารถแสดง กราฟแท่ง อัตโนมัต โดยใช้ข้อมูลจาก H5:H48
อย่างที่เห็นในtest7 แต่อิงสีจาก G5:G48
จัดสีตามนี้
1 น้ำตาล
2 แดง
3 ส้ม
4 เหลือง
5 เขียว
6 น้ำเงิน

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

Re: อยากหาตำแหน่ง

Posted: Thu Jul 23, 2015 7:03 am
by snasui
:D ดูตัวอย่างในคอลัมน์ Q:U ใน Sheet1 โดยคอลัมน์ U ใช้การจัด Conditional Formatting เข้ามาช่วย สำหรับการทำ Conditional Formatting สามารถดูกำหนดค่าได้โดยคลิก U5 > เข้าเมนู Home > Conditional Formatting > Manage Rules ครับ

Re: อยากหาตำแหน่ง

Posted: Fri Jul 24, 2015 1:15 pm
by DhitiBank
ขออนุญาตนะครับ

ผมโหลดไฟล์มาดู ใน Sheet2 คงมีการเพิ่มจำนวนแถวในคอลัมน์ AJ เข้าไปทีหลังใช่ไหมครับ จึงควรปรับสูตรในเซลล์ AL2 ด้วยเพื่อให้ดึงข้อมูลมาได้ถูกต้องครับ
จากเดิม
=IFERROR(IF(COLUMNS($AL2:AL2)>$AJ$1,"",INDEX($AJ$2:$AJ$2000,$AJ$1*(ROWS(AL$2:AL2)-1)+COLUMNS($AL2:AL2))),"")

เปลี่ยนเป็น
=IFERROR(IF(COLUMNS($AL2:AL2)>$AJ$1,"",INDEX($AJ$2:$AJ$2501,$AJ$1*(ROWS(AL$2:AL2)-1)+COLUMNS($AL2:AL2))),"")
แล้วคัดลอกไปยังบริเวณที่เกี่ยวข้องครับ

แล้วก็ขอแนะนำวิธีการหาช่องทอด้วยสูตรอีกแบบหนึ่งครับ ที่ Sheet2 คอลัมน์ E และ D ซึ่งข้อมูลจะดึงไปที่ Sheet1 โดยอัตโนมัติ (การแก้ไขเรื่องสีและความยาวก็แก้ที่ Sheet1 อย่างเดียวครับ อีก 2 ชีทที่เหลือเอาไว้ดูเฉยๆ) ส่วนการระบายสีคัดลอกของอาจารย์มาล้วนๆ ครับ

ขออธิบายการอ่านผลนะครับ จากรูปด้านล่าง
2015-07-24_123232.png
ไฮไลท์ที่ 1: สี A จะใช้ช่องที่ 1 ถึง 40 เป็นจำนวน 3 รอบ รอบที่ 4 จะใช้แค่ช่องที่ 1 ถึง 8
ไฮไลท์ที่ 2: สี B จะใช้ช่องที่ 9 ถึง 40 จากนั้นรอบถัดไปจะใช้ช่องที่ 1 - 40 เป็นจำนวน 4 รอบ แล้วรอบถัดไปจะใช้ช่อง 1 - 32

Re: อยากหาตำแหน่ง

Posted: Fri Jul 24, 2015 6:58 pm
by chandat
ใช่เลยครับ ผมมีการเพิ่มพื้นที่เข้า เพราะจำนวนเส้นดายที่ต้องคำนวนมีถึง2500เส้น (หรือมากกว่าบางโอกาส)
และต้องเพิ่ม จำนวนline มากกว่า 45แบบ อาจมีถึง 200แบบ

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

Re: อยากหาตำแหน่ง

Posted: Fri Jul 24, 2015 7:07 pm
by chandat
ผมเห็นการลงสีใน test7 เกิดไอเดียขึ้นมาว่า ถ้าสามารถกำหนดจำนวนตัวเลข เช่น 40 หรือ 48 หรือตัวเลขอื่น
แล้วมันจะพิมพ์เลขลง เช่น ใส่ 40 ก็จะพิมพ์ 1 2 3 3 ...-40 ใส่จำนวนครั้งเข้าไปว่าพิมพ์กี่ชุด
จากนั้น เอาวิธีการสร้าง กราฟต่อกัน จากจำนวนตัวเลขจริงมาพิมพ์ลงไปน่าจะนับได้ง่าย เพราะมีสีแยก 1 2 3 4 5 6
ดูข้อมูล sheet 1 ช่วยสร้างใน sheet 3 (เพื่อสะดวกในการพิมพ์sheet1)
ช่วยสร้างให้หน่อยครับ

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

Re: อยากหาตำแหน่ง

Posted: Fri Jul 24, 2015 8:27 pm
by chandat
ไฮไลท์ที่ 1: สี A จะใช้ช่องที่ 1 ถึง 40 เป็นจำนวน 3 รอบ รอบที่ 4 จะใช้แค่ช่องที่ 1 ถึง 8
1. จะให้แสดง เฉพาะ ตัวเลขที่ใช้จริง ได้ไหม ไม่จำเป็นต้องรับกี่รอบ

2.ที่ sheet 2 ทางซ้าย column A B C ขยายไปถึง 200 รายการได้ไหมครับ เมื่อเจอริ้วยาวๆจะได้ไม่ต้องมาเพิ่มทีหลัง (กลัวพิมพ์ไม่ถูก อิอิ :rz: )

3. สามารถใส่ตัวเลข จำนวนหัวเท่ากับตัวหาร ได้ไหม ลงไว้ที่ คอลลัมระหว่าง #CL #NZ ตรงกลาง เช่น 1 2 3 ...-40
จบแล้วเริ่มใหม่ 1 2 3...40 จะใส่ไปเท่า 2500 หรือเรากำหนด จำนวนตัวคูณเองก็ได้ครับ

4.กราฟที่ sheet 3 ใช้จำนวนเส้นเอาจาก sheet 2 column O ได้ไหม สมจริงกว่า แล้วแสดงเป็น % เหมือนกราฟแท่งต่อกัน

5.ทั้งหมดลงไว้ในแบบฟอร์ม ที่ส่งไปครั้งก่อนได้ไหมครับ

ทั้งอาจารย์และลูกศิษย์ ขอบคุณมากๆเลยครับ :thup:

Re: อยากหาตำแหน่ง

Posted: Fri Jul 24, 2015 10:12 pm
by DhitiBank
2015-07-24_220938.jpg
1. ขอสอบถามหน่อยครับ ตำแหน่งที่ 1-3 ในภาพ เรียกว่าค่าอะไรครับ เวลาถามจะได้เข้าใจครับ

2. และตำแหน่งที่ 4, 5 ในภาพ ไม่สอดคล้องกันใช่ไหมครับ เพราะอัตราส่วนของกราฟในคอลัมน์ X กับกราฟที่สร้างด้วยการวาดกราฟดูไม่สัมพันธ์กันเลยครับ