EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)Code: Select all
=IFERROR(INDEX($A$2:$A$10,SMALL(IF(ISNUMBER(SEARCH($C$2,$A$2:$A$10)),ROW($A$2:$A$10)-ROW($A$2)+1),ROWS(D$2:D2))),"")
MID($C$2,ROW(INDIRECT("1:"&LEN($C$2))),1)
Mid(คำที่ต้องการตัด,ตำแหน่งที่ต้องการตัด,จำนวนอักขระที่จะตัด)
Row(Indirect("1:"&Len(C2)))
จะทำหน้าที่นี้ครับ=Row(Indirect("1:"&2))
สูตร Len เอาไว้นับอักขระ=Row(Indirect("1:2"))
={1;2}
การเอาตำแหน่งมาใช้กับสูตร Row, Column และอื่นๆ อีกบางสูตร หากเราคีย์เองเช่น "1:"&2 หรือ "A1:A"&4 หรืออื่นๆ จะเอามาใส่ตรงๆ ไม่ได้ครับ ต้องผ่าน IndirectIF([b]ISNUMBER(SEARCH($C$2,$A$2:$A$10))[/b],[i]ROW($A$2:$A$10)-ROW($A$2)+1[/i])
SMALL(.....,ROWS(D$2:D2))
อ่านแล้วเข้าใจง่ายครับDhitiBank wrote:เห็น PM มาถามเรื่องสูตร ขออธิบายตรงนี้นะครับ เผื่อมีเพื่อนๆ ท่านอื่นสนใจจะได้อ่านด้วยกัน
ขอชมที่พยายามทำความเข้าใจและมีความคิดสร้างสรรค์ครับjinora wrote:จากสูตรด้านบน งั้นถ้าผมเปลี่ยนนิดหน่อยแบบนี้แทนก็ได้ใช่มั้ยครับ
=IFERROR(INDEX($A$2:$A$10,SMALL(IF(ISNUMBER(SEARCH($C$2,$A$2:$A$10)),ROW($A$1:$A$9)),1)),"")
***ในกรณีที่ต้องหาค้นหาแค่เจอคำที่เหมือนคำแรกแล้วพอ
ขอบคุณครับ ผมก็เรียบเรียงอยู่นานกว่าจะกด submit ได้ พยายามเอาเรื่องที่รู้ออกมาแบ่งกันครับXDoll wrote: อ่านแล้วเข้าใจง่ายครับ