Page 1 of 1
List_รายชื่อตามสาขา
Posted: Thu May 17, 2012 1:21 pm
by yoguzaa
กะว่าจะมาตั้งกระทู้ รอ ท่านอาจารย์ แต่มาเจอ คุณ bank9597 ซะด้วย เลยถือโอกาสเลยครับ
ช่วยลิสต์รายการให้หน่อยครับ เงื่อนไขในชีทครับ
Re: List_รายชื่อตามสาขา
Posted: Thu May 17, 2012 1:25 pm
by bank9597

ช่วยอธิบายเพิ่มอีกครั้งครับ ผมยังไม่แน่ใจคำถาม
Re: List_รายชื่อตามสาขา
Posted: Thu May 17, 2012 1:48 pm
by bank9597

พอเข้าใจแล้วครับ ลองตามนี้
ที่เซลล์ AA3 คีย์ =IF(ROWS($AA$3:AA3)>COUNTIF($F$2:$F$500,AA$2),"",INDEX($E$2:$E$500,SMALL(IF($F$2:$F$500=AA$2,ROW($E$2:$E$500)-ROW($E$2)+1),ROWS($AA$3:AA3))))
กด Ctrl+Shift+Enter คัดลอกไปทางขวา แล้วลงล่างพร้อมกันครับ
Re: List_รายชื่อตามสาขา
Posted: Thu May 17, 2012 2:11 pm
by yoguzaa
ขอบคุณครับ สมกับเป็น มือขวา อาจารย์ได้เลยครับ ว่างๆ จะขอคำแนะนำนะครับ
เห็นคุณตั้งแต่คำถามแรกๆเลยครับ บอกได้เลยว่า พัฒนาได้ดี มากๆครับ
Re: List_รายชื่อตามสาขา
Posted: Thu May 17, 2012 2:23 pm
by bank9597

โอ๊ว..ขอบคุณมากครับ ให้เกียรติกันมากไปแล้วครับ
สำหรับผมแล้วแค่ต้องการช่วยเหลือคนอื่นเท่าที่ช่วยได้ ตอบผิดตอบถูกอยู่บ่อยๆ แต่เพื่อฝึกหัดให้เก่งขึ้นเท่านั้นเองครับ
ส่วนเรื่องเป็นมือขวาของอาจารย์นั้น คงไม่ได้ครับ เพราะถ้าหากรู็จักอาจารย์จริงๆ อาจารย์เก่งกว่าที่คุณและผมคิดไว้เยอะครับ ประมาณไม่ได้
: แนะนำสูตรเพิ่มเติม
ในคอลัมน์ C เป็นการรันตัวเลข ให้เปลี่ยนจากสูตรเดิมเป็นดังนี้
ที่เซลล์ C2 คีย์=IF(E2="","",MAX(C$1:C1)+1) หรือ =IF(E2="","",COUNTA(E$2:E2)) เพื่อป้องการการลบแถว
ซึ่งสูตรเดิมหากมีการลบหรือเพิ่มแถว ลำดับจะผิดพลาดได้ครับ
Re: List_รายชื่อตามสาขา
Posted: Thu May 17, 2012 8:08 pm
by yoguzaa
ลืมบอกไปครับ
พอดีเป็นคน"ได้คืบจะเอาศอก พอได้ศอกจะเอาวา"ครับ
เพิ่มเติมอีกนิดครับ
Re: List_รายชื่อตามสาขา
Posted: Thu May 17, 2012 8:12 pm
by yoguzaa
หรือใช้ Loop ใน VBA ตัดสินเงื่อนไขดีครับ
การสร้างID ถ้าจะกำหนดให้เป็น KN-001,002 :TS-001,002
หรือ รันตัวเลขต่อกันไปเลยดีครับ ตัวอักษรข้างหน้าเป็นตัวบอก ว่าอยู่ สาขา ไหนครับ
Re: List_รายชื่อตามสาขา
Posted: Thu May 17, 2012 8:17 pm
by snasui

ช่วยโพสต์สิ่งที่ต้องการไว้ในฟอรัมด้วยครับ ในไฟล์แนบให้ทำตัวอย่างคำตอบที่ต้องการไว้ด้วยสักสี่ห้าบรรทัด เพื่อจะได้เข้าใจได้ว่าต้องการคำตอบเป็นเช่นไรครับ
Re: List_รายชื่อตามสาขา
Posted: Thu May 17, 2012 11:26 pm
by yoguzaa
จริงๆแล้วต้องการสร้างรหัสลูกค้าครับ โดยที่ลูกค้านั้นจะต้องกรองข้อมูลเพื่อจัดทำรายงานส่งไปยังสาขานั้นๆ
เพื่อจัดทำบัญชี และข้อมูลอื่น ต่อไปครับ
Re: List_รายชื่อตามสาขา
Posted: Fri May 18, 2012 12:03 am
by snasui

ช่วยทำตัวอย่างมาใหม่ครับ
แสดงคำตอบที่ต้องการมาด้วยว่าต้องการคำตอบอย่างไร โดยคีย์ลงไปเอง จะได้เข้าใจตรงกันครับ
Re: List_รายชื่อตามสาขา
Posted: Fri May 18, 2012 7:59 am
by yoguzaa
แนบตัวอย่างมาให้ครับ
เมื่อคืนคิดว่าอาจารย์นอนแล้ว เลยโพสจากในโทรศัพท์ครับ
เห็นสถานะออฟไลน์
Re: List_รายชื่อตามสาขา
Posted: Fri May 18, 2012 8:33 am
by yoguzaa
แนบไฟล์ตัวอย่าง งานที่จะสร้างจริงๆมาด้วยครับ
เผื่อจะขอคำแนะนำจากอาจารย์ครับ
Re: List_รายชื่อตามสาขา
Posted: Fri May 18, 2012 9:36 am
by bank9597

ผมดูไฟล์ยังงงครับ ไม่แน่ใจว่าต้องการแบบนี้หรือไม่
ที่ AA3 คีย์ =IF(ROWS($AA$3:AA3)>COUNTIF($F$2:$F$500,AA$2),"",INDEX($E$2:$E$500,SMALL(IF($F$2:$F$500=AA$2,ROW($E$2:$E$500)-ROW($E$2)+1),ROWS($AA$3:AA3))))
Ctrl+Shift+Enter คัดลอกลงมา
ที่ AC3 คีย์=IF(ROWS($AC$3:AC3)>COUNTIF($F$2:$F$500,AC$2),"",INDEX($E$2:$E$500,SMALL(IF($F$2:$F$500=AC$2,ROW($E$2:$E$500)-ROW($E$2)+1),ROWS($AC$3:AC3))))
Ctrl+Shift+Enter คัดลอกลงมา
คอลัมน์อื่นก็ปรับ Range ไปเรื่อยๆครับ
ส่วนหาลำดับคนชื่อ หน่อง ผมยังไม่เข้าใจครับ
Re: List_รายชื่อตามสาขา
Posted: Fri May 18, 2012 10:21 am
by snasui

จากสูตร
bank9597 wrote:=IF(ROWS($AA$3:AA3)>COUNTIF($F$2:$F$500,AA$2)...
ถ้าเป็นไปได้ ให้หลีกเลี่ยงการเขียน CountIF เพื่อแสดงการนับซ้ำ ๆ เข้าไปในสูตร Array ครับ สูตรลักษณะนี้หากมี 1000 สูตรจะต้องนับถึง 1000 ครั้ง ควรนับไว้ในเซลล์ใดเซลลหนึ่งแล้วค่อยอ้างอิงมาใช้แทน จะช่วยให้โปรแกรมคำนวณเร็วขึ้นครับ
Re: List_รายชื่อตามสาขา
Posted: Fri May 18, 2012 10:23 am
by bank9597

แก้ด่วนครับ อันนี้ผมมักง่ายครับ

Re: List_รายชื่อตามสาขา
Posted: Fri May 18, 2012 10:43 am
by yoguzaa
หาลำดับของ"หน่อง"คือ การหาลำดับของหน่องว่า "อยู่ลำดับที่เท่าไหร่ของสาขากาญจนบุรีโดยที่ไม่ต้องดึงข้อมูลเพื่อแยกรายชื่อตามสาขา(หาจากตารางทางซ้ายมือเลย)"
สูตรที่คุณแบงค์แนะนำนั้นถูกต้องตามความต้องการครับ
ส่วนการหาลำดับของหน่องเป็นวิธีการอีกทางที่จะลองทำครับ
Re: List_รายชื่อตามสาขา
Posted: Fri May 18, 2012 10:47 am
by yoguzaa
ลำดับของหน่องจากตารางทางซ้ายจะต้องเท่ากับเลข3ตัวในรหัสของช่วงข้อมูลทางขวา ตามสูตรที่คุณแบงค์แนะนำครับ
Re: List_รายชื่อตามสาขา
Posted: Fri May 18, 2012 11:10 am
by snasui

จาก
หา ลำดับของชื่อ"หน่อง"
ว่าอยู่ลำดับที่เท่าไรของสาขา "กาญจนบุรี"
ช่วยแสดงคำตอบที่ต้องการไว้ในไฟล์ด้วยครับว่าต้องการแสดงคำตอบในเซลล์ใด
Re: List_รายชื่อตามสาขา
Posted: Fri May 18, 2012 11:18 am
by bank9597

ขออนุญาตตอบครับ อาจารย์
ที่ Y3 ลงมาใส่ชื่อย่อของสาขาลงไป
แล้วที่ D2 คีย์ =IFERROR((VLOOKUP(F2,$X$3:$Y$8,2,0)&"-"&TEXT(COUNTIF($F$2:$F$500,F2)-COUNTIF(F3:$F$500,F2),"000")),"") คัดลอกลงมา
ลองดูครับว่าตรงที่ต้องการหรือไม่ หากไม่ตรงขออภัยด้วยดครับ รวมทั้งอาจารย์ด้วยครับ
