: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
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#1

Post by March201711 »

เช่น ดึง cell b6 ชื่อ true โดยหาว่าชื่อนี้อยู่ชีทไหน มาแสดงที่ cell e6 คือ 4.86 ค่ะ ตามที่ high light สีเขียว
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#2

Post by puriwutpokin »

ที่ E6=VLOOKUP("*"&B6,INDIRECT(INDEX("'"&{"INDUS","TECH"}&"'!B2:G200",MATCH(TRUE,COUNTIF(INDIRECT("'"&{"INDUS","TECH"}&"'!B2:B200"),"*"&B6)>0,0))),6,0) คัดลอกลงครับ
:shock: :roll: :D
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#3

Post by March201711 »

ถ้ามีการเพิ่มชีทเข้ามาเรื่อยๆ เช่น consump และ propcon หรือ ชีทอื่นๆ จะปรับสูตรอย่างไรคะ เพราะมี sheet ขึ้นมาเรื่อยๆน่ะค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#4

Post by puriwutpokin »

ปรับเป็นที่ F2:F9 คีย์ชื่อชีทที่มี
ที่ E6=VLOOKUP("*"&B6,INDIRECT(INDEX($F$2:$F$9&"!B2:G200",MATCH(TRUE,COUNTIF(INDIRECT($F$2:$F$9&"!B2:B200"),"*"&B6)>0,0))),6,0) กด Ctrl+Shift+Enter คัดลอกลงครับ
หรือไม่ชอบ Array
ก็ปรับเป็น E6=VLOOKUP("*"&B6,INDIRECT(INDEX($F$2:$F$9&"!B2:G200",MATCH(TRUE,INDEX(COUNTIF(INDIRECT($F$2:$F$9&"!B2:B200"),"*"&B6)>0,0),0))),6,0) คัดลอกลงครับ
:shock: :roll: :D
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#5

Post by March201711 »

มาปรับใช้กับงานแล้ว ทำไมข้อมูลขึ้น #ref ทั้งหมดคะ
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: ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#6

Post by snasui »

:D เนื่องจากมีการตั้งชื่อ Range Name ให้ชื่อ index ซึ่งไปซ้ำกับชื่อฟังก์ชั่น Index ทำให้ฟังก์ชั่น Index ไม่สามารถทำงานได้ครับ

วิธีการแก้ไข
  1. คลิกขวาที่แถบชีตใด ๆ > Unhide
  2. เลือกชีต Set_Index > OK
  3. เข้าเมนู Formulas > Name Manager > เลือก Range Name ที่ชื่อ Index > คลิกปุ่ม Edit
  4. ตรง Name เปลี่ยนคำว่า Index เป็นข้อความอื่น > OK
  5. แก้ไขสูตรโดยเปลี่ยนข้อความตามข้อ 4 ให้กลับมาเป็น Index
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#7

Post by March201711 »

ค่ะ อีกนิดนึงค่ะ ทำไมใน Name manager ในแต่ละบรรทัด ไม่สามารถ delete แต่ละรายการได้คะ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#8

Post by puriwutpokin »

มันเป็นค่าจากตาราง Table ครับ ต้องไปลบตารางออกเท่านั้นครับ
:shock: :roll: :D
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#9

Post by March201711 »

ลบตารางยังไงคะ พยายามแปลงตารางเป็นปกติแล้วก็ลบไม่ได้ค่ะ
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#10

Post by puriwutpokin »

ที่ไฟล์เดิม กด F5 จะมีคำว่า Table เลือกแล้ว กด Ok มันจะไปที่ตารางนั้น แล้ว Convert เป็นช่วงปกติ
ไฟล์ที่แนบมานี้เอาออกให้แล้วครับ :D
You do not have the required permissions to view the files attached to this post.
:shock: :roll: :D
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: ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#11

Post by snasui »

March201711 wrote: Sat May 25, 2019 3:15 pm ลบตารางยังไงคะ พยายามแปลงตารางเป็นปกติแล้วก็ลบไม่ได้ค่ะ
:D กรุณาเล่าขั้นตอนมาอย่างละเอียดจะได้ช่วยวินิจฉัยให้ได้ครับ
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#12

Post by March201711 »

ได้แล้วค่ะ
สงสัยนิดนึงค่ะ
E6=VLOOKUP("*"&B6,INDIRECT(INDEX($F$2:$F$9&"!B2:G200",MATCH(TRUE,INDEX(COUNTIF(INDIRECT($F$2:$F$9&"!B2:B200"),"*"&B6)>0,0),0))),6,0) คัดลอกลงครับ
ทำไมต้อง vlookup ค่า * ก่อนคะ แล้วค่า match ทำไมต้องหาค่า true ด้วยคะ
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#13

Post by puriwutpokin »

March201711 wrote: Sat May 25, 2019 8:46 pm ได้แล้วค่ะ
สงสัยนิดนึงค่ะ
E6=VLOOKUP("*"&B6,INDIRECT(INDEX($F$2:$F$9&"!B2:G200",MATCH(TRUE,INDEX(COUNTIF(INDIRECT($F$2:$F$9&"!B2:B200"),"*"&B6)>0,0),0))),6,0) คัดลอกลงครับ
ทำไมต้อง vlookup ค่า * ก่อนคะ แล้วค่า match ทำไมต้องหาค่า true ด้วยคะ
ลองเอาค่า "*"& ออกทั้งหมดดูครับว่า จะจับคำว่า TRUE จากเงื่อนไขไม่ได้เพราะ TRUE ไม่ซ้ำกับฟังก์ชั่น TRUE ครับ ต้องทำ
ให้เกิดความแต่ต่างครับ ส่วน TRUE ตรง MATCH(TRUE,INDEX(COUNTIF.....
สีแดงนั้นเป็นคนละความหมายกับ TRUE จากเงื่อนไขการหาของข้อมูลครับ คนละตัวกันครับ แค่มันไปตรงกัน สีแดง
เป็นเงื่อนไขของสูตรนี้เท่านั้นเองครับไม่เกี่ยวข้องกันครับ :D
:shock: :roll: :D
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดีงข้อมูลในชื่อที่มีอยู่แต่ละ ชีทมาแสดง

#14

Post by March201711 »

เข้าใจแล้วค่ะ ขอบคุณ คุณ puriwutpokin และ อาจารย์ มากค่ะ :D
Post Reply