: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

ขอความรู้ Excel ครับพอดีเจอปัญหาใหญ่ครับ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Mrjimmy
Member
Member
Posts: 6
Joined: Wed May 15, 2013 7:04 pm

ขอความรู้ Excel ครับพอดีเจอปัญหาใหญ่ครับ

#1

Post by Mrjimmy »

ดังภาพนะครับ

รายงาน AB จะเป็นรานงานรวม

รายงาน FG จะเก็บเฉพาะช่องที่มี /

รายงาน IJ จะเก็บเฉพาะช่องที่ไม่มี /

---------------------------------------

:P

ช่อง A,B เหมือนกับเอาไว้เลือกน่ะครับ

แล้วผลจะออกมาทาง F,G กับ I,J

ปัญหาคือจะเขียน เงื่อนไขยังไงครับ

*** ช่อง F,G และ I,J จะแสดงข้อมูลออกมาติดๆกันด้วยนะครับ เหมือนกับ List ลงมา พอเข้าใจมั้ยครับ

แต่ที่ผมเคยเขียน คือการเช็คช่องต่อช่อง มันจะทำให้ F,G และ I,J มันเว็นว่างน่ะครับ

ขอบคุณครับ ...

สงสัยอีกครับ ... ถ้า A1 = 0 สั่งให้ C7 มีค่า 15 แบบนี้ทำได้มั้ยครับ ???


Image


:wanwan011: :wanwan011: :wanwan011:
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอความรู้ Excel ครับพอดีเจอปัญหาใหญ่ครับ

#2

Post by snasui »

:D ลองตามนี้ครับ
  1. เซลล์ F1 คีย์
    =IFERROR(INDEX($A$1:$A$5,SMALL(IF($B$1:$B$5="/",ROW($A$1:$A$5)-ROW($A$1)+1),ROWS(F$1:F1))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  2. เซลล์ I1 คีย์
    =IFERROR(INDEX($A$1:$A$5,SMALL(IF($B$1:$B$5="",ROW($A$1:$A$5)-ROW($A$1)+1),ROWS(I$1:I1))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
กรณี A1 เท่ากับ 0 แล้วต้องการ C7 เท่ากับ 15 ที่ C7 คีย์

=If(A1=0,15,"")


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

Re: ขอความรู้ Excel ครับพอดีเจอปัญหาใหญ่ครับ

#3

Post by Mrjimmy »

snasui wrote::D ลองตามนี้ครับ
  1. เซลล์ F1 คีย์
    =IFERROR(INDEX($A$1:$A$5,SMALL(IF($B$1:$B$5="/",ROW($A$1:$A$5)-ROW($A$1)+1),ROWS(F$1:F1))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  2. เซลล์ I1 คีย์
    =IFERROR(INDEX($A$1:$A$5,SMALL(IF($B$1:$B$5="",ROW($A$1:$A$5)-ROW($A$1)+1),ROWS(I$1:I1))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
กรณี A1 เท่ากับ 0 แล้วต้องการ C7 เท่ากับ 15 ที่ C7 คีย์

=If(A1=0,15,"")


!
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
ขอบคุณครับ ทำได้แล้ว เทพมากๆ ชอบๆ ครับ .... :thup: :thup: :thup: :thup:
Mrjimmy
Member
Member
Posts: 6
Joined: Wed May 15, 2013 7:04 pm

Re: ขอความรู้ Excel ครับพอดีเจอปัญหาใหญ่ครับ

#4

Post by Mrjimmy »

Mrjimmy wrote:
snasui wrote::D ลองตามนี้ครับ
  1. เซลล์ F1 คีย์
    =IFERROR(INDEX($A$1:$A$5,SMALL(IF($B$1:$B$5="/",ROW($A$1:$A$5)-ROW($A$1)+1),ROWS(F$1:F1))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  2. เซลล์ I1 คีย์
    =IFERROR(INDEX($A$1:$A$5,SMALL(IF($B$1:$B$5="",ROW($A$1:$A$5)-ROW($A$1)+1),ROWS(I$1:I1))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
กรณี A1 เท่ากับ 0 แล้วต้องการ C7 เท่ากับ 15 ที่ C7 คีย์

=If(A1=0,15,"")


!
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
ขอบคุณครับ ทำได้แล้ว เทพมากๆ ชอบๆ ครับ .... :thup: :thup: :thup: :thup:
ขออีกคำถามครับ กรณีข้ามชีท เขียนยังไงครับ ???
Mrjimmy
Member
Member
Posts: 6
Joined: Wed May 15, 2013 7:04 pm

Re: ขอความรู้ Excel ครับพอดีเจอปัญหาใหญ่ครับ

#5

Post by Mrjimmy »

https://dl.dropboxusercontent.com/u/103959845/temp.xlsx

อธิบายนิดนึงนะครับ

มี 2 ชีทนะครับ ... running sheet , 1A

ในช่อง TPC (CFU/g,ml) ช่อง E ถ้าว่าง Lab No. (ช่อง B) จะไปปรากฎใน Lab No. ช่อง A (ชีท 1A) ตามลำดับครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอความรู้ Excel ครับพอดีเจอปัญหาใหญ่ครับ

#6

Post by snasui »

:D เนื่องจากที่ฟอรัมนี้แนบไฟล์ได้ ผมจึงไม่ดูไฟล์จากที่อื่น คงต้องรอให้สมาชิกท่านอื่น ๆ เข้ามาช่วยตอบครับ
Mrjimmy
Member
Member
Posts: 6
Joined: Wed May 15, 2013 7:04 pm

Re: ขอความรู้ Excel ครับพอดีเจอปัญหาใหญ่ครับ

#7

Post by Mrjimmy »

snasui wrote::D เนื่องจากที่ฟอรัมนี้แนบไฟล์ได้ ผมจึงไม่ดูไฟล์จากที่อื่น คงต้องรอให้สมาชิกท่านอื่น ๆ เข้ามาช่วยตอบครับ

ขออภัยครับ อัพให้แล้วครับผม
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอความรู้ Excel ครับพอดีเจอปัญหาใหญ่ครับ

#8

Post by snasui »

:D ใช้สูตรเดียวกับที่ผมตอบไปแล้ว ลองปรับปรุงมาดูก่อน ติดตรงไหนค่อนถามกันต่อครับ
Mrjimmy
Member
Member
Posts: 6
Joined: Wed May 15, 2013 7:04 pm

Re: ขอความรู้ Excel ครับพอดีเจอปัญหาใหญ่ครับ

#9

Post by Mrjimmy »

snasui wrote::D ใช้สูตรเดียวกับที่ผมตอบไปแล้ว ลองปรับปรุงมาดูก่อน ติดตรงไหนค่อนถามกันต่อครับ
จากคำสั่งนี้

=IFERROR(INDEX($A$1:$A$5,SMALL(IF($B$1:$B$5="",ROW($A$1:$A$5)-ROW($A$1)+1),ROWS(I$1:I1))),"")

ผมเขียนเป็น

=IFERROR(INDEX('Running sheet'!$B$8:$B$13,SMALL(IF('Running sheet'!$E$8:$E$13="",ROW('Running sheet'!$B$8:$B$13)-ROW('Running sheet'!$B$8)+1),ROWS(I$1:I1))),"")

ไม่ทราบว่าผมอ้างชีทแบบนี้ ผิดรึป่าวครับ ?
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอความรู้ Excel ครับพอดีเจอปัญหาใหญ่ครับ

#10

Post by snasui »

:D แนบไฟล์ที่ Update ตามสูตรนั้นมา พร้อมทั้งแจ้งว่าสูตรที่ปรับมาเองแล้วนั้นติดปัญหาใดครับ
Post Reply