:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

อยากได้ข้อมูลบาง cell จากข้อมูลทั้งหมด มาจัดเรียงใหม่

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
wthn
Member
Member
Posts: 54
Joined: Sat May 14, 2011 5:40 pm

อยากได้ข้อมูลบาง cell จากข้อมูลทั้งหมด มาจัดเรียงใหม่

#1

Post by wthn »

สวัสดีครับ จะรบกวนให้ช่วยดึงข้อมูลบาง cell ที่อยู่ใน format ของ excel ที่โหลดมากจากเว็บไซด์ของทางแบงค์ ให้เป็นในรูปแบบที่เราต้องการครับ ตามไฟล์ที่แนบมาจะมี 2 ชีท คือ Bank statement format และ Format needed ได้ไฮไลท์ cell ที่อยากได้มาแล้วในชีทที่ 2 ครับ

ขอบคุณมากครับ
ป๊อป
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: อยากได้ข้อมูลบาง cell จากข้อมูลทั้งหมด มาจัดเรียงใหม่

#2

Post by snasui »

:D เงื่อนไขการเลือกค่าเหล่านั้นมีอะไรบ้างช่วยแจกแจงมาทั้งหมดครับ
wthn
Member
Member
Posts: 54
Joined: Sat May 14, 2011 5:40 pm

Re: อยากได้ข้อมูลบาง cell จากข้อมูลทั้งหมด มาจัดเรียงใหม่

#3

Post by wthn »

ในชีทที่ 1 จะแบ่งเป็น 3 คอลัมน์ คือ Date , Explanation , Credit details , Debit details โดยเงื่อนไขคือ
1. Date จะเป็นวันที่เกิดรายการนั้นๆ ของข้อมูลในชีทที่ 2 ไฮไลท์สีเขียว
2. Explantion จะเป็นคำอธิบายของรายการ ว่าเป็นรายการอะไรหรือมาจากคู่ค้าชื่ออะไร ของข้อมูลที่ชีทที่ 2 ไฮไลท์สีชมพู
3. Credit details จะเป็นรายการที่เป็นบวกคือเงินที่เพิ่มเข้ามาในบัญชี ซึ่งอยู่ในส่วนของ Credit details ของข้อมูลที่ชีทที่ 2 ไฮไลท์สีฟ้า
4. Debit detials จะเป็นรายการที่เป็นลบคือเงินที่ออกจากบัญชี ซึ่งอยู่ในส่วนของ Debit details ของข้อมูลที่ชีทที่ 2 ไฮไลท์สีฟ้า

อยากได้ข้อมูลอะไรเพิ่มเติม บอกได้เลยนะครับ

ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: อยากได้ข้อมูลบาง cell จากข้อมูลทั้งหมด มาจัดเรียงใหม่

#4

Post by snasui »

:lol: สิ่งที่ต้องการทราบไม่ใช่ความหมายของรายการ แต่ต้องการทราบเงื่อนไขในการดึงข้อมูล ยกตัวอย่างเช่น

ดึงข้อมูลในคอลัมน์ XFD ของ Sheet1 หากเซลล์นั้น ๆ มีอักขระตัวที่ 20 เป็น A อักขระตัวที่ 8-12 เป็นตัวเลขทั้งหมดให้นำมาแสดงใน Sheet2 คอลัมน์ A เช่นนี้เป็นต้น ลองเขียนเงื่อนไขมาใหม่ครับ
wthn
Member
Member
Posts: 54
Joined: Sat May 14, 2011 5:40 pm

Re: อยากได้ข้อมูลบาง cell จากข้อมูลทั้งหมด มาจัดเรียงใหม่

#5

Post by wthn »

:D ขอโทษครับ ผมสับสนเอง
เงี่อนไขทั้งหมดจะเป็นดังนี้ครับ โดยดึงข้อมูลในชีทที่ 2 ไปแสดงในชีทที่ 1 และ

1. Date : ดึงข้อมูลในคอลัมน์ BE หากในคอลัมน์ D ของแถวเดียวกันนั้นมีข้อมูล
2. Explanation : ที่โฮไลท์สีชมพูไม่ต้องการแล้วครับ
3. Credit details : ดึงข้อมูลในคอลัมน์ D หากในคอลัมน์ BE ของแถวเดียวกันนั้นมีข้อมูล แต่ต้องอยู่ภายใต้ในส่วนของ Credit details
4. Debit details : ดึงข้อมูลในคอลัมน์ D หากในคอลัมน์ BE ของแถวเดียวกันนั้นมีข้อมูล แต่ต้องอยู่ภายใต้ในส่วนของ Debit details

ตัวอย่างคำตอบที่อยากได้ อยู่ในไฟล์ที่แนบมากับโพสนี้ครับ

ยังไงรบกวนด้วยนะครับ ถ้าอยากได้ข้อมูลเพิ่มเติมบอกได้เลยครับ

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: อยากได้ข้อมูลบาง cell จากข้อมูลทั้งหมด มาจัดเรียงใหม่

#6

Post by snasui »

:D ลองตามนี้ครับ
  1. ที่ชีท Bank statement format เซลล์ A52 คีย์สูตร
    =LOOKUP(CHAR(255),CHOOSE({1,2},"",LOOKUP(2,1/(ISNUMBER(MATCH(B$52:B52,{"Credit Details","Debit Details"},0))),B$52:B52)))
    Enter > Copy ลงด้านล่าง
  2. ที่ชีท Format needed เซลล์ F1:H1 คีย์ค่าเพื่อเป็นหัวคอลัมน์ คือ Date, Dr/Cr, Amt ตามลำดับ
  3. ที่ชีท Format needed เซลล์ F2 คีย์สูตร
    =INDEX('Bank statement format'!$BE$52:$BE$600,SMALL(IF('Bank statement format'!$D$52:$D$600<>"",ROW('Bank statement format'!$A$52:$A$600)-ROW('Bank statement format'!$A$52)+1),ROWS(F$2:F2)))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  4. ที่ชีท Format needed เซลล์ G2 คีย์สูตร
    =INDEX('Bank statement format'!$A$52:$A$600,SMALL(IF('Bank statement format'!$D$52:$D$600<>"",ROW('Bank statement format'!$A$52:$A$600)-ROW('Bank statement format'!$A$52)+1),ROWS(G$2:G2)))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  5. ที่ชีท Format needed เซลล์ H2 คีย์สูตร
    =INDEX('Bank statement format'!$D$52:$D$600,SMALL(IF('Bank statement format'!$D$52:$D$600<>"",ROW('Bank statement format'!$A$52:$A$600)-ROW('Bank statement format'!$A$52)+1),ROWS(H$2:H2)))
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  6. ที่ชีท Format needed เซลล์ A2 คีย์สูตร
    =F2
    Enter > Copy ลงด้านล่าง
  7. ที่ชีท Format needed เซลล์ C2 คีย์สูตร
    =IF(G2=C$1,H2,"")
    Enter > Copy ลงด้านล่าง
  8. ที่ชีท Format needed เซลล์ D2 คีย์สูตร
    =IF(G2=D$1,H2,"")
    Enter > Copy ลงด้านล่าง

!
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
wthn
Member
Member
Posts: 54
Joined: Sat May 14, 2011 5:40 pm

Re: อยากได้ข้อมูลบาง cell จากข้อมูลทั้งหมด มาจัดเรียงใหม่

#7

Post by wthn »

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

1. คอลัมน์ BE ของชีท bank statement จะต้องตรงกับค่าของคอลัมน์ A ของชีท 2 แล้วจึงนำค่าขอของคอลัมน์ D ของชีท bank statement มาใส่ลงในคอลัมน์ G ของชีท 2 โดยถ้าค่าของคอลัมน์ D ในชีท bank statement อยู่ในส่วนของ credit details จะมีค่าเป็นบวก ในทางกลับกันถ้าเป็น debit details ให้มีค่าเป็นลบ
2. จากข้อ1 คอลัมน์ H ของชีท 2 ให้แสดงคำอธิบายตามคอลัมน์ Y ที่ไฮไลท์สีชมพูในชีท bank statement
3. ถ้าในคอลัมน์ Y ของชีท bank statement (ที่ไฮไลท์ด้วยสีเหลือง) มีคำอธิบายว่า “NO. OF PAYMENTS xx” ค่าในคอลัมน์ BE ที่จะนำมาใช้จะต้องเป็นค่าที่น้อยกว่าค่าของคอลัมน์ A ในชีท 2 อยู่ 1 วัน และในค่าที่จะนำมาใช้จะกระจายออกเท่ากับจำนวน xx ตามที่ระบุไว้ในคำอธิบายในชีท bank statement โดยค่าจะเป็นลบเสมอ

ยังไงถ้าต้องการข้อมูลเพิ่มเติม บอกได้เลยครับ
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: อยากได้ข้อมูลบาง cell จากข้อมูลทั้งหมด มาจัดเรียงใหม่

#8

Post by snasui »

wthn wrote:1. คอลัมน์ BE ของชีท bank statement จะต้องตรงกับค่าของคอลัมน์ A ของชีท 2 แล้วจึงนำค่าขอของคอลัมน์ D ของชีท bank statement มาใส่ลงในคอลัมน์ G ของชีท 2 โดยถ้าค่าของคอลัมน์ D ในชีท bank statement อยู่ในส่วนของ credit details จะมีค่าเป็นบวก ในทางกลับกันถ้าเป็น debit details ให้มีค่าเป็นลบ
:D ค่าในคอลัมน์ A ของ Sheet2 มาจากการคีย์เองหรือมาได้อย่างไรครับ
wthn wrote:2. จากข้อ1 คอลัมน์ H ของชีท 2 ให้แสดงคำอธิบายตามคอลัมน์ Y ที่ไฮไลท์สีชมพูในชีท bank statement
มีเงื่อนไขในการดึงคำอธิบายอย่างไรบ้างครับ
wthn wrote:3. ถ้าในคอลัมน์ Y ของชีท bank statement (ที่ไฮไลท์ด้วยสีเหลือง) มีคำอธิบายว่า “NO. OF PAYMENTS xx” ค่าในคอลัมน์ BE ที่จะนำมาใช้จะต้องเป็นค่าที่น้อยกว่าค่าของคอลัมน์ A ในชีท 2 อยู่ 1 วัน และในค่าที่จะนำมาใช้จะกระจายออกเท่ากับจำนวน xx ตามที่ระบุไว้ในคำอธิบายในชีท bank statement โดยค่าจะเป็นลบเสมอ
หากต้องการคำตอบลักษณะนี้คงต้องเขียน VBA และจำเป็นต้องเขียนมาก่อนตามกฎข้อ 5 ด้านบน ติดตรงไหนแล้วค่อยถามกัน

ไฟล์แนบไม่ควรทำการย่อคอลัมน์หรือบรรทัดเพื่อความสวยงามครับ ให้แสดงความกว้างและความสูงของเซลล์ตามปกติจะได้เข้าถึงข้อมูลได้โดยไวครับ
Post Reply