: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

สูตรนับค่าที่เป็น TEXT

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
rocket
Member
Member
Posts: 77
Joined: Sun Feb 10, 2013 5:27 pm

สูตรนับค่าที่เป็น TEXT

#1

Post by rocket »

สอบถามสูตรนับค่าที่เป็น Text ซึ่งข้อมูลถูกเก็บไว้แยก sheet ซึ่งต้องการสรุปข้อมูลไว้ใน Sheet เดียวกัน
ตามตัวอย่างในไฟล์แนบค่ะ
You do not have the required permissions to view the files attached to this post.
rocket
Member
Member
Posts: 77
Joined: Sun Feb 10, 2013 5:27 pm

Re: สูตรนับค่าที่เป็น TEXT

#2

Post by rocket »

รบกวนผู้รู้ด้วยค่ะ
User avatar
puriwutpokin
Guru
Guru
Posts: 3708
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: สูตรนับค่าที่เป็น TEXT

#3

Post by puriwutpokin »

ปรับตารางแต่ละชีทให้อยู่ในตำแหน่งเดียวกันก่อนครับ
และที่ชีท สรุปเกรดที่ C2=IF(SUMPRODUCT(COUNTIF(INDIRECT("'"&ROW(INDIRECT("1:3"))&"'!"&ADDRESS(ROW(C4),2+COUNTA($B$2:B$2),4)),"A"))>SUMPRODUCT(COUNTIF(INDIRECT("'"&ROW(INDIRECT("1:3"))&"'!"&ADDRESS(ROW(C4),2+COUNTA($B$2:B$2),4)),"B")),"A",IF(SUMPRODUCT(COUNTIF(INDIRECT("'"&ROW(INDIRECT("1:3"))&"'!"&ADDRESS(ROW(C4),2+COUNTA($B$2:B$2),4)),"B"))>=2,"B",IF(SUMPRODUCT(COUNTIF(INDIRECT("'"&ROW(INDIRECT("1:3"))&"'!"&ADDRESS(ROW(C4),2+COUNTA($B$2:B$2),4)),"C"))>=2,"C","A"))) คัดลอกทั่วตารางครับ
:shock: :roll: :D
User avatar
Bo_ry
Gold
Gold
Posts: 1244
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: สูตรนับค่าที่เป็น TEXT

#4

Post by Bo_ry »

ถ้าปรับทุกชีทตำแหน่งตรงกัน
C4
=IFERROR(LOOKUP(2,1/(MMULT(COUNTIF(INDIRECT("'"&{1,2,3}&"'!RC",),{"C";"B";"A"}),{1;1;1})=MAX(INDEX(MMULT(COUNTIF(INDIRECT("'"&{1,2,3}&"'!RC",),{"C";"B";"A"}),{1;1;1}),)))/(MMULT(COUNTIF(INDIRECT("'"&{1,2,3}&"'!RC",),{"C";"B";"A"}),{1;1;1})>0),{"C";"B";"A"}),"")
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30747
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สูตรนับค่าที่เป็น TEXT

#5

Post by snasui »

:D ตัวอย่างสูตร กรณีไม่ปรับบรรทัดให้เท่ากันทุกชีตครับ

C2 คีย์

=INDEX({"A","B","C"},MATCH(TRUE,INDEX(MAX(SUMPRODUCT(COUNTIFS(INDIRECT("'"&{1,2,3}&"'!R2C2:R1000C2",0),$B4,INDIRECT("'"&{1,2,3}&"'!R2C:R1000C",0),"A")),SUMPRODUCT(COUNTIFS(INDIRECT("'"&{1,2,3}&"'!R2C2:R1000C2",0),$B4,INDIRECT("'"&{1,2,3}&"'!R2C:R1000C",0),"B")),SUMPRODUCT(COUNTIFS(INDIRECT("'"&{1,2,3}&"'!R2C2:R1000C2",0),$B4,INDIRECT("'"&{1,2,3}&"'!R2C:R1000C",0),"C")))=CHOOSE({1,2,3},SUMPRODUCT(COUNTIFS(INDIRECT("'"&{1,2,3}&"'!R2C2:R1000C2",0),$B4,INDIRECT("'"&{1,2,3}&"'!R2C:R1000C",0),"A")),SUMPRODUCT(COUNTIFS(INDIRECT("'"&{1,2,3}&"'!R2C2:R1000C2",0),$B4,INDIRECT("'"&{1,2,3}&"'!R2C:R1000C",0),"B")),SUMPRODUCT(COUNTIFS(INDIRECT("'"&{1,2,3}&"'!R2C2:R1000C2",0),$B4,INDIRECT("'"&{1,2,3}&"'!R2C:R1000C",0),"C"))),0),0))

Enter > Copy ไปด้านขวาและลงด้านล่าง
rocket
Member
Member
Posts: 77
Joined: Sun Feb 10, 2013 5:27 pm

Re: สูตรนับค่าที่เป็น TEXT

#6

Post by rocket »

ขอบคุณทุกท่านค่ะ
rocket
Member
Member
Posts: 77
Joined: Sun Feb 10, 2013 5:27 pm

Re: สูตรนับค่าที่เป็น TEXT

#7

Post by rocket »

Bo_ry wrote: Sat Jun 22, 2019 2:13 am ถ้าปรับทุกชีทตำแหน่งตรงกัน
C4
=IFERROR(LOOKUP(2,1/(MMULT(COUNTIF(INDIRECT("'"&{1,2,3}&"'!RC",),{"C";"B";"A"}),{1;1;1})=MAX(INDEX(MMULT(COUNTIF(INDIRECT("'"&{1,2,3}&"'!RC",),{"C";"B";"A"}),{1;1;1}),)))/(MMULT(COUNTIF(INDIRECT("'"&{1,2,3}&"'!RC",),{"C";"B";"A"}),{1;1;1})>0),{"C";"B";"A"}),"")
สอบถามค่ะ
IFFERROR(LOOKUP(2,1
2,1 คืออะไร แทนค่าช่องไหนคะ
ไฟล์ของจริงมีมากกว่า 3 sheet ค่ะ
User avatar
logic
Gold
Gold
Posts: 1506
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

Re: สูตรนับค่าที่เป็น TEXT

#8

Post by logic »

คำอธิบาย lookup(2,1/...) ดูที่นี่ ~~> wordpress/last-cell-that-not-blank/

ชื่อชีตเปลี่ยนตรง {1,2,3} หลายชีตก็ใส่ลำดับอื่นเพิ่มเข้าไป หรือจะเขียนไว้สักคอลัมน์แล้วอ้างอิงในสูตรแทน {1,2,3} ครับ
menem
Silver
Silver
Posts: 549
Joined: Mon Jan 26, 2015 11:02 am

Re: สูตรนับค่าที่เป็น TEXT

#9

Post by menem »

คำตอบของผมอาจจะไม่ตรงกับที่ต้องการนะครับ
เนื่องจาก ถ้ากรอกคะแนนเป็น A B C ผมจะคำนวณ
ออกมาเป็น B (คือใช้วิธี Average )

สูตรช่อง C2
=CHAR(ROUND(
(
IFERROR(CODE(INDEX('1'!$1:$100000,MATCH($B2,'1'!$B:$B,0),COLUMN(C$1))),0)+
IFERROR(CODE(INDEX('2'!$1:$100000,MATCH($B2,'2'!$B:$B,0),COLUMN(C$1))),0)+
IFERROR(CODE(INDEX('3'!$1:$100000,MATCH($B2,'3'!$B:$B,0),COLUMN(C$1))),0)
)/(LEN(INDEX('1'!$1:$100000,MATCH($B2,'1'!$B:$B,0),COLUMN(C$1))&INDEX('2'!$1:$100000,MATCH($B2,'2'!$B:$B,0),COLUMN(C$1))&INDEX('3'!$1:$100000,MATCH($B2,'3'!$B:$B,0),COLUMN(C$1))))-0.01,0))

โดยจะต้องไปแก้ชื่อ นาย ก ในชีท 1,2 และ 3 ให้เหมือนกัน (บางชีทมี 2 space)
menem
Silver
Silver
Posts: 549
Joined: Mon Jan 26, 2015 11:02 am

Re: สูตรนับค่าที่เป็น TEXT

#10

Post by menem »

แต่ถ้าสามารถปรับโครงสร้างข้อมูล และหน้ารายงานให้เหมือนกันได้
สูตร C4 จะเป็น (หลังจาก Insert row จาก C2 จะกลายเป็น C4)
(ABC = B เหมือนเดิมนะครับ)

=CHAR(ROUND(-0.01+
(IFERROR(CODE('1'!C4),0)+
IFERROR(CODE('2'!C4),0)+
IFERROR(CODE('3'!C4),0)
)/LEN(
'1'!C4&
'2'!C4&
'3'!C4
),0))
Post Reply