: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
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

ขอสูตรเชื่อมข้อมูลแบบแถวครับ

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
nidnykung
Member
Member
Posts: 32
Joined: Tue May 15, 2012 12:00 pm

ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#1

Post by nidnykung »

จากไฟล์ที่แนบมาครับ วันก่อนผมได้วิธีส่งข้อมูลข้ามชีท แต่เป็นแบบแนวคอลัมน์ ซึ่งผมอยากได้แบบแนวแถวครับ ก็คือไฟล์ที่แนบมานี้ ผมต้องการจะพิมพ์ข้อมูลลงในชีทหน้าหลัก แล้วให้มันแยกข้อมูลไปเก็บในชีทลูกอม ตามล็อกของแต่ละตัวครับ เนื่องจากว่า สินค้ามีเยอะมากครับ ถ้าจะทำแยกชีทละ 1 ตัวมันไม่ไหวครับ ก็เลยอยากจะแบ่งหมวดหมู่ แล้วค่อยแยกย่อยภายในอีกที ดังที่แนบไปครับ ไม่ทราบว่าพอจะมีสูตร ไรช่วยได้ไหมครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#2

Post by snasui »

:lol: ชีทลูกอมมีเหตุผลใดที่ต้องแยกเป็นหลาย ๆ ฟอร์มครับ ทำฟอร์มเดียวแล้วเลือกรหัสสินค้าแทนจะได้หรือไม่ครับ ช่วยระบายสีให้เห็นเด่นชัดว่าต้องการนำค่าใดมาแสดงในชีทลูกอมและอยู่ในเซลล์ใดบ้างครับ
nidnykung
Member
Member
Posts: 32
Joined: Tue May 15, 2012 12:00 pm

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#3

Post by nidnykung »

อันนี้ลงสีแล้วครับ คือ อยากจะให้พอเราคีย์รหัสในชีทหน้าหลัก แล้วมันจะไปดึงข้อมูลจากชีทลูกอมมาให้ถูกต้องครับตรงตามสีนั้น ๆ ครับ หรือจะใช้วิธีเลือกรหัสก็ได้ครับ แต่ต้องการให้มันเรียงข้อมูลเป็นแนวนอนตามแบบที่ส่งไป พอจะมีสูตรไหมครับ ผมลองปรับตรง COLUMN เป็น ROW มันก็ไม่ได้ครับ ที่ต้องเรียงเป็นแนวนอน เพราะว่าอันนี้เป็นตัวอย่างแต่ของจริงจะเยอะมาก ซึ่งต้องใช้พื้นที่ด้านล่างในชีทลูกอมเพื่อเก็บข้อมูลลูกค้าที่ซื้อไว้ต่อกันเรื่อยๆ ในวันถัดมาครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#4

Post by snasui »

:D ลองตามนี้ครับ

ที่ชีทหน้าหลักเซลล์ E4 คีย์

=OFFSET(ลูกอม!$A$2,0,MATCH($C4,ลูกอม!$2:$2,0)+COLUMNS($E4:E4)-1,1)

Enter > Copy ไปทางขวาและลงด้านล่าง
nidnykung
Member
Member
Posts: 32
Joined: Tue May 15, 2012 12:00 pm

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#5

Post by nidnykung »

snasui wrote::D ลองตามนี้ครับ

ที่ชีทหน้าหลักเซลล์ E4 คีย์

=OFFSET(ลูกอม!$A$2,0,MATCH($C4,ลูกอม!$2:$2,0)+COLUMNS($E4:E4)-1,1)

Enter > Copy ไปทางขวาและลงด้านล่าง
ขอบคุณมากครับ ผมกำลัง งม VLOOKUP อยู่พอดีครับ
nidnykung
Member
Member
Posts: 32
Joined: Tue May 15, 2012 12:00 pm

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#6

Post by nidnykung »

ขอรบกวนอีกนิดครับ คือว่า ผมลองทำเชื่อมข้อมูล แบบวันก่อนที่เคยถามไป ซึ่งมันใช้ได้เฉพาะกับบรรทัดแรก (ในชีทลูกอม) แถวต่อมันมีไรผิดพลาดซักอย่าง ซึ่งอ่านที่ในโปรแกรมแนะนำมาแล้วก็ไม่เข้าใจครับ ช่วยดูให้หน่อยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#7

Post by snasui »

:lol: เนื่องจากสูตรไม่ถูกต้องและกดแป้นให้รับสูตรไม่ถูกต้องครับ

จากสูตร

=IF(ROWS(A$4:A4)>$A$1,"",INDEX(หน้าหลัก!A$4:A$108,SMALL(IF(หน้าหลัก!$C$4:$C$108="1",ROW(หน้าหลัก!$A$4:$A$108)-ROW(หน้าหลัก!$A$4)+1),ROWS(A$4:A4))))

ให้ปรับเป็น

=IF(ROWS(A$4:A4)>$A$1,"",INDEX(หน้าหลัก!A$4:A$108,SMALL(IF(หน้าหลัก!$C$4:$C$108=1,ROW(หน้าหลัก!$A$4:$A$108)-ROW(หน้าหลัก!$A$4)+1),ROWS(A$4:A4))))

เมื่อคีย์สูตรเสร็จแทนที่จะกดแป้น Enter เพียงแป้นเดียวเพื่อให้รับสูตร ให้กดแป้น Ctrl+Shift ค้างไว้ก่อน แล้วตามด้วย Enter

กรณี Copy สูตรจากข้อความในโพสต์นี้ไปวาง ให้กดแป้น F2 เพื่อทำการ Edit สูตร จากนั้นกดแป้น Ctrl+Shift แล้วตามด้วย Enter
nidnykung
Member
Member
Posts: 32
Joined: Tue May 15, 2012 12:00 pm

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#8

Post by nidnykung »

ขอบคุณมากเลยครับ
nidnykung
Member
Member
Posts: 32
Joined: Tue May 15, 2012 12:00 pm

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#9

Post by nidnykung »

มีปัญหาใหม่ครับ
=IF(ROWS(A$4:A4)>$A$1,"",INDEX(หน้าหลัก!A$4:A$108,SMALL(IF(หน้าหลัก!$C$4:$C$108=amt10,ROW(หน้าหลัก!$A$4:$A$108)-ROW(หน้าหลัก!$A$4)+1),ROWS(A$4:A4))))
ตรงที่ใส่สีแดงครับ มันคือ รหัสสินค้าผมครับ พอจะกด ctrl+shift+enter มันจะไม่แสดงผล มันกลายเป็นว่า ไปอ้างอิงเป็น logical test ในสูตร IF ครับ แบบนี้ผมต้องแก้ที่เปลี่ยนรหัสผม หรือว่า มีวิธีอื่นช่วยได้ไหมครับไม่ให้มันอ้างอิงครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#10

Post by bank9597 »

:D แนบไฟล์ตัวอย่างมาดูครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#11

Post by snasui »

:mrgreen: เป็นปัญหาเดิมครับ นั่นคือ กรณีเป็น Text จะต้องครอบด้วยเครื่องหมาย "" ครับ ดังนั้นตามสูตรที่ยกมา ควรจะเป็น

=IF(ROWS(A$4:A4)>$A$1,"",INDEX(หน้าหลัก!A$4:A$108,SMALL(IF(หน้าหลัก!$C$4:$C$108="amt10",ROW(หน้าหลัก!$A$4:$A$108)-ROW(หน้าหลัก!$A$4)+1),ROWS(A$4:A4))))

อ่านเรื่อง Number และ Text ที่นี่จะทำให้เข้าใจเรื่องนี้มากขึ้นครับ http://snasui.blogspot.com/2010/10/excel.html และกรณีเป็น Text หากนำมาใช้ในสูตรจะต้องครอบด้วยเครื่องหมาย "" เสมอครับ
bank9597 wrote: :D แนบไฟล์ตัวอย่างมาดูครับ
กรณีไม่ใช่คำตอบช่วยแนบไฟล์มาตามที่คุณแบงค์แจ้งไปครับ
nidnykung
Member
Member
Posts: 32
Joined: Tue May 15, 2012 12:00 pm

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#12

Post by nidnykung »

ตรง #NUM คือมันต้องกด ctrl+shift+enter ก่อน ค่อยลากไปทางขวา แล้วลงใช่ไหมครับ แต่มันกด ctrl+shift+enter แล้วจะกลายเป็น 0 ทันที ไม่สามารถดึงค่ามาแสดงได้เลยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#13

Post by bank9597 »

:D ลองตามนี้ครับ
ที่เซลล์ A1 คีย์ =COUNTIF(หน้าหลัก!$C$4:$C$108,B2)

ที่เซลล์ A4 คีย์ =IF(ROWS(A$4:A4)>$A$1,"",INDEX(หน้าหลัก!A$4:A$108,SMALL(IF(หน้าหลัก!$C$4:$C$108=$B$2,ROW(หน้าหลัก!$A$4:$A$108)-ROW(หน้าหลัก!$A$4)+1),ROWS(A$4:A4))))

กด Ctrl+Shift+Enter คัดลอกไปทางขวามือ แล้วลงล่างพร้อมกันครับ

ลองศึกษานเรื่อง Number และ Text ตามที่อาจารย์แจ้งดูครับ
http://snasui.blogspot.com/2010/10/excel.html
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
nidnykung
Member
Member
Posts: 32
Joined: Tue May 15, 2012 12:00 pm

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#14

Post by nidnykung »

อ่อ พอเข้าใจละครับ แต่ผมขอถามเพิ่มอีกนิดครับ จากที่ อ.พูดคราวก่อน ผมยัง งง นิด ๆ ครับ
snasui wrote::lol: เนื่องจากสูตรไม่ถูกต้องและกดแป้นให้รับสูตรไม่ถูกต้องครับ

จากสูตร

=IF(ROWS(A$4:A4)>$A$1,"",INDEX(หน้าหลัก!A$4:A$108,SMALL(IF(หน้าหลัก!$C$4:$C$108="1",ROW(หน้าหลัก!$A$4:$A$108)-ROW(หน้าหลัก!$A$4)+1),ROWS(A$4:A4))))

ให้ปรับเป็น

=IF(ROWS(A$4:A4)>$A$1,"",INDEX(หน้าหลัก!A$4:A$108,SMALL(IF(หน้าหลัก!$C$4:$C$108=1,ROW(หน้าหลัก!$A$4:$A$108)-ROW(หน้าหลัก!$A$4)+1),ROWS(A$4:A4))))
ผมก็เลยสงสัยว่า ตอนแรกใส่ " มันไม่รับสูตร พอเอาออกมันรับสูตร แต่มาวันนี้ ต้องใส่ถึงจะรับสูตร ตรงนี้มันเกิดจากอะไรเหรอครับ
nidnykung
Member
Member
Posts: 32
Joined: Tue May 15, 2012 12:00 pm

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#15

Post by nidnykung »

หรือว่า ถ้าเป็น text ต้องใส่ " " ทุกกรณี แต่ถ้าตัวเลข ไม่ต้องใส่ "" แม้แต่กรณีเดียวแบบนี้เหรอครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#16

Post by bank9597 »

:D มีหลายองค์ประกอบด้วยกันครับ
ประการแรกคือการกดแป้นรับสูตร ให้ถูกต้อง คือกด ctrl+shift+enter แทนการกด Enter

การใส่เงื่อนไขในสูตรก็เป็นส่วนสำคัญมาก บางครั้งเราต้องใส่ "" บางครั้งไม่ต้องใส่ คำตอบก็อย่างที่อาจารย์ได้บอกไว้ หากเป็นตัวเลข เช่น เลข 1,2,3....ไม่จำเป็นต้องมี "" (ผมเรียกฟันหนู) แต่หากข้อมูลเป็น text ก็จำเป็นต้องมี "" ครับ

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

ยกตัวอย่าง เราต้องการหารายการที่มีชื่อว่า Name_01 เราใช้ชื่อไปอ้างอิงเลย เราก็จะใช้สูตร
=COUNTIF(หน้าหลัก!$C$4:$C$108,"Name_01")
แต่ถ้าเราอ้างอิงจากเซลล์ เราก็แค่คีย์ชื่อ Name_01 ลงในเซลล์ใดเซลลืหนึ่ง เช่น A1 สูตรที่ได้คือ
=COUNTIF(หน้าหลัก!$C$4:$C$108,A1)

ซึ่งคำตอบก็ออกมาเท่ากัน แต่ความสะดวกจะต่างกัน เช่นเดียวกับสูตรที่ใช้แปลงค่าออกมา หากเราเลือกวิธีแรก สูตรที่ได้คือ
=IF(ROWS(A$4:A4)>$A$1,"",INDEX(หน้าหลัก!A$4:A$108,SMALL(IF(หน้าหลัก!$C$4:$C$108="Name_01",ROW(หน้าหลัก!$A$4:$A$108)-ROW(หน้าหลัก!$A$4)+1),ROWS(A$4:A4))))

หากเลือกวิธีที่สอง สูตรที่ได้คือ
=IF(ROWS(A$4:A4)>$A$1,"",INDEX(หน้าหลัก!A$4:A$108,SMALL(IF(หน้าหลัก!$C$4:$C$108=$A$1,ROW(หน้าหลัก!$A$4:$A$108)-ROW(หน้าหลัก!$A$4)+1),ROWS(A$4:A4))))
ผลที่ออกมาก็ได้เหมือนกัน ต่างกันที่ความสะดวกในการแก้ไขเงื่อนไขเท่านั้น

การทำแบบวิธีที่ 2 นั้น ผู้ใช้ต้องเคยใช้สูตรอาร์เรย์มาค่อนข้างเยอะแล้ว จึงจะเข้าใจและเเก้ไขข้อผิดพลาดที่เกิดขึ้นได้
สำหรับผู้ที่ยังเริ่มศึกษา ควรใช้วิธีการที่ 1 เพื่อที่ได้มุ่งไปที่เงื่อนไขในสูตรเป็นสำคัญ แต่อย่างไรก็ดีผมไม่คอนเฟิร์มได้ทั้งหมดว่าอะไรดีกว่าอะไร แล้วแต่การใช้ของแต่ละคนครับ

ปล. สูตรที่ยกมาเป็นแค่ตัวอย่างให้เห็นภาพครับ กรณียังไม่เข้าใจหรือไม่มั่นใจในคำตอบ อาจารย์จะเข้ามาเสริมให้อีกครับ :D
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
nidnykung
Member
Member
Posts: 32
Joined: Tue May 15, 2012 12:00 pm

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#17

Post by nidnykung »

อืม ล้ำลึกมาก ขอบคุณครับ ผมเคยเรียนคอมพิวเตอร์พื้นฐาน 1 เทอมเองครับ อันนี้มันสุดยอดจริงๆ มีแต่สูตรที่ไม่เคยเห็นเลยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#18

Post by snasui »

nidnykung wrote:หรือว่า ถ้าเป็น text ต้องใส่ " " ทุกกรณี แต่ถ้าตัวเลข ไม่ต้องใส่ "" แม้แต่กรณีเดียวแบบนี้เหรอครับ
กรณีเป็น Text ใส่ทุกกรณีถูกต้องแล้วครับ Text ที่พูดถึงอยู่นี้หมายความรวมถึงตัวเลขล้วน ๆ แต่ถูกจัด Format ให้เป็น Text ดังนั้น จะเห็นได้ว่า Text และ Number ไม่ได้พิจารณาด้วยสิ่งที่มองเห็นด้วยตาแต่ต้องตรวจสอบไปถึงการจัด Format
bank9597 wrote:การทำแบบวิธีที่ 2 นั้น ผู้ใช้ต้องเคยใช้สูตรอาร์เรย์มาค่อนข้างเยอะแล้ว จึงจะเข้าใจและเเก้ไขข้อผิดพลาดที่เกิดขึ้นได้
สำหรับผู้ที่ยังเริ่มศึกษา ควรใช้วิธีการที่ 1 เพื่อที่ได้มุ่งไปที่เงื่อนไขในสูตรเป็นสำคัญ
การเขียนสูตรให้อ้างอิงเซลล์เงื่อนไขเป็นการลดภาระการแก้ไขสูตรครับ ดังนั้น ไม่ว่ามือใหม่หรือมือเก่า หากเป็นไปได้ควรสร้างเซลล์เงื่อนไขแยกไว้ต่างหาก เพื่อให้ง่ายต่อการแก้ไขเพียงไม่กี่เซลล์แทนที่จะตามไปแก้ไขทุก ๆ สูตร ยกเว้นเขียนแค่สูตรเดียวเท่านั้นก็สามารถเขียนเงื่อนไขเข้าไปในสูตรได้เลยเพื่อลดการสิ้นเปลืองเซลล์
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ขอสูตรเชื่อมข้อมูลแบบแถวครับ

#19

Post by bank9597 »

การเขียนสูตรให้อ้างอิงเซลล์เงื่อนไขเป็นการลดภาระการแก้ไขสูตรครับ ดังนั้น ไม่ว่ามือใหม่หรือมือเก่า หากเป็นไปได้ควรสร้างเซลล์เงื่อนไขแยกไว้ต่างหาก เพื่อให้ง่ายต่อการแก้ไขเพียงไม่กี่เซลล์แทนที่จะตามไปแก้ไขทุก ๆ สูตร ยกเว้นเขียนแค่สูตรเดียวเท่านั้นก็สามารถเขียนเงื่อนไขเข้าไปในสูตรได้เลยเพื่อลดการสิ้นเปลืองเซลล์
:D ขอบคุณอาจารย์มากครับ :D
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Post Reply