Page 1 of 1

การใส่สูตรโดยอ้างอิงจากคอลัมป์

Posted: Mon Nov 10, 2014 11:33 pm
by visarut
รบกวนสอบถามสูตรจากเอกสารแนบครับ

คอลัมป์ C ต้องการให้แสดง "A" ถ้าคอลัมป์ B = 1แถว
และคอลัมป์ C ต้องการให้แสดง "B" ถ้าคอลัมป์ B > 1แถว

ที่คอลัป์ C ต้องเขียนสูตรอย่างไรครับ

Re: การใส่สูตรโดยอ้างอิงจากคอลัมป์

Posted: Tue Nov 11, 2014 2:03 pm
by snasui
:D ตามด้านล่างครับ

C2 คีย์สูตร

=IF(ISNUMBER(FIND(CHAR(10),B2)),"B","A")

Enter > Copy ลงด้านล่าง

Re: การใส่สูตรโดยอ้างอิงจากคอลัมป์

Posted: Tue Nov 11, 2014 3:37 pm
by visarut
snasui wrote::D ตามด้านล่างครับ

C2 คีย์สูตร

=IF(ISNUMBER(FIND(CHAR(10),B2)),"B","A")

Enter > Copy ลงด้านล่าง
ขอบคุณครับคุณคนควน
จากสูตรที่คุณคนควน สร้างขึ้นทำให้ ผมได้เรียนรู้การใช้คำสั่ง ISNUMBER,FIND และ ได้รู้ว่า คำสั่ง Alt+Enter = CHAR(10)
จากลิงค์ด้านล่างนี้
http://snasui.blogspot.com/2008/11/blog-post_6472.html

ขอบคุณมากครับ

รบกวนสอบถามเพิ่มเติมครับ ตามเอกสารแนบ ชี้ท ตย.2
ข้อมูลที่ผมได้มาเป็นการดึงข้อมูลจากโปรแกรมบริษัท เป็น excel ซึ่งใน 1 ช่อง มีข้อมูลหลายแถว
สามารถใช้คำสั่งอย่างไรได้บ้างครับ เพื่อให้ข้อมูลแยกแถวออกมา เป็น 1 ช่อง ใน 1 แถว

Re: การใส่สูตรโดยอ้างอิงจากคอลัมป์

Posted: Tue Nov 11, 2014 4:23 pm
by snasui
:D ดูตัวอย่างสูตรตามไฟล์แนบ โดยมีลำดับการเขียนสูตรที่เซลล์เริ่มต้นดังนี้
  1. L5
  2. L7
  3. M5
  4. A11
  5. E11
จากนั้น Copy เซลล์เหล่านี้ไปยังเซลล์ที่เกียวข้อง สังเกตว่าสูตรเดียวกันจะใช้สีเดียวกัน

Re: การใส่สูตรโดยอ้างอิงจากคอลัมป์

Posted: Wed Nov 12, 2014 10:27 am
by visarut
snasui wrote::D ดูตัวอย่างสูตรตามไฟล์แนบ โดยมีลำดับการเขียนสูตรที่เซลล์เริ่มต้นดังนี้
  1. L5
  2. L7
  3. M5
  4. A11
  5. E11
จากนั้น Copy เซลล์เหล่านี้ไปยังเซลล์ที่เกียวข้อง สังเกตว่าสูตรเดียวกันจะใช้สีเดียวกัน
ขอบคุณครับ
ผมลองใช้สูตรดู พบข้อมูลบางส่วนไม่แสดงและบางส่วนแสดงไม่ครบ(ส่วนที่เป็นช่องสีเขียว) ต้องแก้ไขอย่างไรบ้างครับ
ผมขอนำสูตรไปใช้ก่อนนะครับ หลังจากเสร็จงานจะขอกลับมาทำความเข้าใจความหมายของสูตรอีกครั้งครับ

Re: การใส่สูตรโดยอ้างอิงจากคอลัมป์

Posted: Wed Nov 12, 2014 4:37 pm
by snasui
:D ตัวอย่างการปรับสูตรที่ O131 ตามด้านล่างครับ

Code: Select all

=IF(ROWS(E$131:E131)>$L$7,"",TRIM(MID(SUBSTITUTE(LOOKUP(ROWS(E$131:E131),$AN$2:$AN$126,O$2:O$126),CHAR(10),REPT(" ",100)),100*(COUNTIF(D$131:$D131,$D131)-1)+1,100)))
ตรง Countif คือการนับแบบมีเงื่อนไข จะเป็นตัวช่วยแยกว่าข้อมูลใดมีกี่บรรทัด หากนับวันที่ในคอลัมน์ A จะไม่สัมพันธ์กับบรรทัดของข้อมูลจริง ผมเปลี่ยนมาใช้คอลัมน์ D แทน ซึ่งต้องทราบเองนะครับว่าเราควรจะใช้คอลัมน์ใดเป็นตัวแทน สูตรนี้เป็นแค่ตัวอย่างเท่านั้นครับ