TinyTask – เบื่อไหมกับงานซ้ำๆ? มาทำ Automation แบบบ้านๆ กัน

Tool ที่จะมานำเสนอวันนี้ สามารถ “อัด” (Record) สิ่งที่เราได้ทำบนหน้าจอ ไม่ว่าจะเป็นการคลิ้กที่ตำแหน่งต่างๆ และการพิมพ์ผ่าน Keyboard แล้วสามารถนำเอามา “เล่น” (Play) ซ้ำๆ อีกกี่รอบก็ได้ ช่วยทำงานซ้ำๆ แทนเราโดยที่เราไม่จำเป็นต้องไปเขียน Script หรือเขียนโค้ดให้ยุ่งยากอะไรเลย

ลอง Download ตัวโปรแกรมจากหน้าเว็บของผู้พัฒนา  แล้ว Run โปรแกรมดูครับ

จะเจอหน้าตาโปรแกรมที่ซิมเปิ๊ลซิมเปิลแบบนี้…

tinytask_buttons

ลองกดที่ปุ่ม Options (รูปไขควง) แล้วเลือก Help ดู มาดู Quick Start Guide กันก่อน

tinytask_002

จำปุ่มนี้ไว้ก่อน : Ctrl + Shift + Alt + R ใช้สำหรับ “เริ่มอัด” และ กดอีกทีเพื่อ “หยุดอัด”

แล้วเรามาลองเล่นกันดู

  1. เริ่มโดยการ เปิดหน้าเว็บจาก Link นี้มารอไว้ก่อน ขยายให้ใหญ่พอที่จะเห็นปุ่ม Click me ลองคลิ้กที่ปุ่ม ดู 3 ครั้ง จะเห็นปุ่ม Reset clicks โผล่ขึ้นมาด้านขวา (ถ้าไม่เห็นก็ขยายหน้า Browser ให้ใหญ่พอที่จะเห็นก่อนครับ)
  2. ลองกดคีย์สำหรับอัด Ctrl+Shift+Alt+R เราจะเห็นปุ่มตรงกลางเปลี่ยนจากสีฟ้าเป็นสีแดง แสดงว่ากำลังอัดอยู่
  3. ลองคลิ้กที่ปุ่ม Click me ในหน้าเว็บที่เปิดอยู่ 3 ครั้ง จากนั้นเราจะเห็นปุ่ม Reset clicks ทางด้านขวาโผล่ขึ้นมา ก็ไปคลิ้กตรงนั้นอีกทีหนึ่ง
  4. เสร็จแล้วกด Ctrl+Shift+Alt+R อีกครั้งเพื่อหยุดอัด (ปุ่มใน TinyTask ที่เป็นสีแดงจะเปลี่ยนกลับไปเป็นสีฟ้า)
  5. กดที่ปุ่ม Options (รูปไขควง) แล้วเลือก Set Repeat Count แล้วใส่เลข 5 ลงไป (หมายความว่าเราจะเล่นซ้ำสิ่งที่เราทำไปสักครู่ก่อนหน้านี้ทั้งหมด 5 รอบ)
  6. ลองกดปุ่ม Play (สีเขียว) ดู

ถ้าเราอยากจะเก็บสิ่งที่อัดแล้วไว้ใช้ทีหลังอีก ก็กด Save เป็นไฟล์ .rec ได้เลย วันหลังก็มาเปิดใช้งานได้ นอกจากนี้ยังมีปุ่ม Compile เพื่อสร้างไฟล์ exe จาก script นั้นๆ เอาไปใช้ run ตรงๆ ได้เลยอีกด้วย

.. ทีนี้ ผมจะลองกับตัวอย่างที่ Advance ขึ้นนิดนึง

สมมุติว่าผมมี Book Excel อยู่บุ๊คหนึ่ง ที่มีชีททั้งหมด 50 ชีท แล้วผมอยากจะดึงข้อมูลจากเซลล์ B2 ของทุกชีทออกมา  (แน่นอนว่าถ้าคุณเขียน VBA เป็น งานนี้ก็กล้วยๆ แต่ผมยกตัวอย่างนี้มาเพื่อให้เห็นภาพมากขึ้นเฉยๆ ครับ)

สิ่งที่ผมทำก็คือ

  1. เปิด sample data book ใน Excel วางจัดให้โปรแกรมอยู่ครึ่งซ้ายของหน้าจอ และให้แน่ใจว่าผมอยู่ที่ชีทที่ 1
    .
  2. เปิด Notepad ขึ้นมาแล้ววางไว้ครึ่งขวาของหน้าจอ
    .
  3. เปิดโปรแกรม TinyTask แล้ว เริ่มอัด โดยการกดปุ่ม Ctrl+Shift+Alt+R
    .
  4. คลิ้กที่หน้าต่างของ Excel หนึ่งครั้งเพื่อ Focus ที่ตัวโปรแกรม Excel
    .
  5. กด Ctrl+G เพื่อเปิดหน้า Goto ขึ้นมา
    .
  6. พิมพ์ ‘B2’ และกด Enter เพื่อไปที่เซลล์ B2
    .
  7. กด Ctrl+C เพื่อทำการ Copy
    .
  8. คลิ้กที่หน้าจอ Notepad
    .
  9. กด Ctrl+End ให้ Cursor ไปอยู่ที่ท้ายสุด เพื่อให้มั่นใจว่าข้อมูลที่เราจะทำการ Paste มันจะต่อท้ายจากของเดิม
    .
  10. กด Ctrl+V เพื่อแปะข้อมูล
    .
  11. คลิ้กที่หน้าจอ Excel อีกครั้ง
    .
  12. กด Ctrl+PageDown เพื่อไปยังชีทถัดไป
    .
  13. กด Ctrl+Shift+Alt+R เพื่อหยุดอัด
    .
  14. จาก Step ข้างบน เราก็จะได้ชุดคำสั่ง 1 ชุด ที่จะเป็น Pattern เดียวกันเสมอในการดึงข้อมูลจากแต่ละชีท
    .
  15. ทีนี้ไปกดที่ปุ่ม Options แล้วเลือก Set Repeat Count แล้วใส่เป็นตัวเลข 49 (เพราะเราทำไปแล้ว 1 ครั้ง)
    .
  16. กด Options แล้วเลือก Play Speed: Fast (ให้มันเร่งสปีดในการทำแต่ละรอบ)
    .
  17. กด Play
    .

แล้วก็รอหน่อย เราก็จะได้ข้อมูลจากทั้ง 50 ชีทมาเรียงอยู่บน Notepad แล้วครับ

เพิ่มเติม:

  • ด้วยความที่ Tool ตัวนี้มันจำตำแหน่งในการคลิ้ก ดังนั้น ครั้งหน้าที่คุณเปิดโปรแกรมขึ้นมาใหม่ หรือมีการเคลื่อนย้ายตำแหน่งของตัวโปรแกรม มันก็อาจจะทำงานไม่ได้ทันที ดังนั้นจึงแนะนำว่าเราต้องพยายามจัดตำแหน่งของโปรแกรมให้อยู่ในตำแหน่งที่คงที่ เช่นอาจจะ Maximize ให้มันเต็มจอก่อน แล้วค่อยเริ่มอัด เป็นต้น
  • ถึงแม้ว่าด้วยความ “บ้านบ้าน” ของ Tool ตัวนี้… ความสามารถมันไม่ได้เยอะพอที่จะทำการ Automate งานหลายๆ อย่างที่มีความซับซ้อน แต่ในบางสถานการณ์ผมก็พบว่ามันสามารถนำมาใช้งานได้จริง โดยเฉพาะกับบางโปรแกรมที่ไม่ได้ทำมา Support การใช้ Command Line หรือการทำ Scripting นัก ทั้งนี้ก็ขึ้นอยู่กับวิธีการประยุกต์ใช้ของเราด้วยอีกทีครับ
  • ตัวอย่างอื่นๆ ที่ผมพอจะนึกออกก็อย่างเช่น
    • มีหน้า Web ที่เราอยากจะโชว์ขึ้นจอใหญ่ๆ และอยากให้มัน Refresh บ่อยๆ แต่ตัวหน้าเว็บนี้ไม่ได้ Refresh อัตโนมัติให้ เราก็ใช้ Tool นี้ ช่วยกด F5 ให้เรื่อยๆ หรือเราอยากจะสลับไปมาระหว่าง 1 – 3 หน้า ก็ใช้ Tool นี้ช่วยคลิ้กสลับไปมาได้
    • เราอยากจะคลิ้กปุ่มซ้ำๆ ไปเรื่อยๆ จำนวนเป็นร้อยเป็นพันครั้ง (ถ้ากดเองก็เมื่อยตาย)
โฆษณา

Shift+Tab เพื่อกลับไปก่อนหน้า

อันนี้ คน IT น่าจะรู้กันเกือบหมดแล้ว แต่เผื่อว่ามีคนยังไม่รู้ละกันครับ

(อ่านจากบางที่ เค้าก็ว่ายังเป็นปุ่มที่มีคนรู้จักน้อยกว่าที่ควรอีกอัน อารมณ์คล้ายๆ Ctrl+Y)

คนใช้คอมพิวเตอร์ส่วนใหญ่ รู้กันอยู่แล้วว่า เวลากรอกฟอร์มต่างๆ เราสามารถใช้ปุ่ม Tab เพื่อเลื่อนไป Field ถัดๆ ไป หรือปุ่มถัดๆ ไปได้

แต่บางคนอาจยังไม่รู้ว่า เราสามารถกด Shift + Tab เพื่อย้อนกลับไป Field ก่อนหน้าได้  ซึ่งสำหรับคนที่ไม่รู้ว่าทำแบบนี้ได้ ในกรณีที่เกิดการกรอกผิดขึ้นมา ก็มักจะละมือจากคีย์บอร์ด ไปใช้เม้าส์แทนแป๊บนึง

ซึ่งเสียเวลาโดยใช่เหตุ

Shift+Tab นี่ค่อนข้างจะ Universal ใช้ได้เกือบทุกที่ ไม่ว่าจะเป็นโปรแกรม หรือ Form ในเว็บต่างๆ กล่าวคือ ถ้าใช้ปุ่ม Tab เพื่อเลื่อนไปอันถัดไปได้ ก็ใช้ Shift+Tab เพื่อเลื่อนกลับได้เช่นกัน

สำหรับใน Excel ก็สามารถใช้ Shift+Tab เพื่อเลื่อน Selection ไปทางซ้ายได้เช่นกัน หรือถ้าจะเลื่อนไปข้างบนก็ใช้ Shift+Enter (ใช้แทนปุ่มลูกศรได้เลย ซึ่งถ้าจะใช้ปุ่มพวกนี้บนคีย์บอร์ดที่เป็น Layout ยอดนิยมสำหรับเครื่องตั้งโต๊ะ ก็ต้องละมือขวาจากแป้นพิมพ์แป๊บนึงเช่นกัน)

ถ้าฝึกใช้จนชิน เราก็จะละมือจากคีย์บอร์ดน้อยลงครับ ทำงานเร็วขึ้นได้อีกนี้ดดดดดนึง (ก็เอาวะ!)

Shift_Flows

ShareX – จะภาพนิ่งหรือเคลื่อนไหวก็ Capture ได้หมด

แก้ไขเพิ่มเติม ณ วันที่ 11 ต.ค.

เนื่องจากใช้งานอยู่ดีๆ ก็เพิ่งสังเกตเห็นว่ามีปุ่ม Scrolling Capture โผล่ขึ้นมา

ตื่นเต้นตกใจ! และหลังจากได้ลองใช้ดูแล้ว ก็พบว่ามันทำงานได้ดีในระดับนึงเลยทีเดียว!!

2015-10-11_11-24-05

Scrolling Capture นี้ จะช่วยให้เราสามารถ Capture ภาพของโปรแกรมที่มีความยาวมากเกินกว่าที่จะสามารถบนหน้าจอได้ทีเดียวหมด (คือต้อง Scroll Mouse เลื่อนดูเอานั่นเอง) ไม่ว่าจะเป็นหน้าเว็บหรือหน้าโปรแกรมต่างๆ ก็ตาม เพิ่มความสะดวกในการจับภาพหน้าจอโปรแกรมได้อีกโขเลยทีเดียว

พอเราลองคลิ้กตรงนี้ แล้วไปเลือก Window ที่เราอยากจะ Capture ก็จะได้หน้า UI แบบนี้ขึ้นมา

ขออธิบายเพิ่มเติมสักนิดนึงด้วยรูปด้านล่างนี้ก่อน :
(ถ้าภาพไม่ชัด ให้กดคลิ้กที่รูปเพื่อดูขนาดเต็มครับ)

2015-10-11_11-25-45

ทีนี้ มาลองดูตัวอย่างการใช้งานกันครับ

ตัวอย่างที่ 1: Scrolling Capture บนหน้าต่าง File Explorer และ หน้าเว็บปรกติ

ตัวอย่างที่ 2 : Scrolling Capture บนหน้าเว็บที่มี Element บางอย่างที่ลอยตามไปด้วยระหว่างที่เรา Scroll

สำหรับหน้าเว็บบางหน้า ยกตัวอย่างเช่นเว็บของ ShareX เอง อาจจะมี Element ที่เป็น Static Objects ซึ่งไม่ว่าเราจะ Scroll ไปที่ไหน มันก็จะยังโชว์หราให้เราเห็นอยู่ดี ซึ่งตรงจุดนี้จะทำให้โปรแกรมงงเอาได้ ทำให้ภาพที่ออกมาไม่สมบูรณ์

สำหรับปัญหาแบบนี้ ให้เราลองเลือก Region ที่เป็นจุดสำคัญ แต่ไม่เห็น Static Objects เหล่านั้นแทน โดยใช้ปุ่ม Select custom region in window ก่อนที่จะกด Start capture ก็จะพอช่วยได้ครับ

ลองดูตัวอย่างจากวิดีโอนี้นะครับ (ในครึ่งแรกของวิดีโอ จะใช้วิธีปรกติเหมือนตัวอย่างที่ 1 ภาพที่ได้ออกมาจะไม่สมบูรณ์ และในส่วนครึ่งหลัง ใช้วิธีการเลือก Region ตามที่ได้อธิบายไว้ครับ)

ข้อมูลเพิ่มเติม: จาก Changlog นั้น จะเห็นว่า Scrolling Capture นี้ ถูกเพิ่มเข้ามาในเวอร์ชั่น 10.3.0 ณ วันที่ 2 ต.ค. 2015 ที่ผ่านมา ถ้าใครยังไม่เห็นก็ให้ลอง Update ดูนะครับ


เผยแพร่ครั้งแรก ณ วันที่ 19 กันยายน 2558

สัปดาห์ก่อนหน้านี้ได้เขียนถึง Greenshot แล้วได้เกริ่นไว้ถึงโปรแกรมที่สามารถใช้จับภาพหน้าจอเพื่อออกมาเป็นไฟล์ Video หรือไฟล์ GIF ที่เคลื่อนไหวได้

โปรแกรมที่ว่า ชื่อว่า ShareX ครับ

โปรแกรมนี้อาจจะใช้งานยากสักนิดตอนเริ่มต้น อาจจะเพราะใส่ความสามารถมาเยอะมาก ตัวเลือกในเมนูก็เลยเยอะตามไปด้วย ทำให้อาจจะเกิดความสับสนงุนงงได้เล็กน้อย

แต่ขอบอกว่า ของที่ให้มาก็เจ๋งจริงๆ สิ่งที่เด่นชัดและทำได้มากกว่า Greenshot เลยก็คือการจับภาพเคลื่อนไหว

ภาพข้างล่างนี้คือสิ่งที่โปรแกรมนี้สามารถ Capture ได้:

ShareX_01


วิธีการใช้งาน

  1. โหลดโปรแกมจากหน้าเว็บไซต์ก่อน https://getsharex.com/
    (หรือถ้าไม่อยาก Install ก็สามารถโหลดแบบ Portable ได้จาก Link นี้ครับ)
  2. พอ Install เสร็จ เปิดโปรแกรมขึ้นมา จะเห็นหน้าตาแบบข้างล่าง (ถ้าไม่ขึ้น หรือเผลอปิดหน้าต่างนี้ไป ก็ไป Double Click ตรง Icon ที่อยู่ตรง System Tray เพื่อเปิดขึ้นมาใหม่ได้ครับ)
    ShareX_02
  3. มาตั้งค่าที่ After Capture tasks กันก่อน ว่าพอ Capture ภาพมาแล้ว อยากจะทำอะไรบ้าง
    อย่างกรณีของผม ปรกติผมจะทำแค่เปิดขึ้นมาแก้ไข ใส่ข้อความเล็กน้อย แล้วค่อยเอาภาพไปใช้ต่อเอง จึงติ๊กแค่อันเดียว (แต่ Option ที่มีให้เลือกจริงมีเยอะมาก จะ Upload หรือทำ actions อื่นๆ ต่อก็ได้)

ShareX_03

  1. เสร็จแล้วมาลอง Record หน้าจอกันดู ลองเลือกที่ Capture > Screen recording (GIF) ดูครับ
    ShareX_04
    ..
    หมายเหตุ
    : ในการเรียกใช้งาน Screen recording ครั้งแรก โปรแกรมจะขึ้นหน้าต่างอีกอันเพื่อบอกให้เราดาวน์โหลดไฟล์ที่ชื่ ffmpet.exe มาเพิ่ม ให้เราตอบ Yes บนหน้าต่างนี้ และรอจนกว่าไฟล์ ffmpeg.exe ถูกดาวน์โหลดจนเสร็จก่อน (ขนาดประมาณ 35 MB)

ShareX_05
ShareX_06
ลักษณะการใช้งานก็จะคล้ายๆ กับการจับภาพหน้าจอ โดยเราจะต้องเลือก Region ทีต้องการจะอัดภาพ พออัดเสร็จแล้วก็กดที่ STOP

ShareX_07

หรือในกรณีที่บริเวณที่เราต้องการอัดภาพทั้งหน้าจอ การจะหยุดอัดภาพก็ทำได้โดยไปที่ System Tray แล้วกดตรงจุดกลมๆ สีแดงแทนครับ

ShareX_08

โปรแกรมจะประมวลผลเพื่อสร้างไฟล์ GIF ซักพัก พอเสร็จแล้วมันก็จะมาโผล่อยู่ในลิสต์ตามภาพครับ
– ถ้าเราคลิ้กที่ชื่อไฟล์ ก็จะมี Preview ขึ้นให้ที่ด้านขวา
– หากเราต้องการจะหยิบตัวไฟล์มาใช้ ก็ให้คลิ้กขวาที่ชื่อไฟล์ แล้วเลือก Open > Folder
ShareX_09

  1. หากเราต้องการจะอัดวิดีโอ ก็ให้เลือกเป็น Screen recording ธรรมดาแทน
    (พออัดเสร็จจะได้ออกมาเป็นไฟล์ .mp4)
    ShareX_10
  1. และถ้าหากเราต้องการจะอัดเสียงด้วย ก็ให้ไปที่ Task settings > Screen recorder > Scree recording options..
    ShareX_11แล้วเลือก Audio source ที่ต้องการ และปิดหน้านี้ไป
    ShareX_12
  1. นอกจากนี้ยังมีฟังก์ชั่นสำหรับการจับหน้าเว็บเพจทั้งหน้า โดยเลือก Capture> Webpage capture
    ShareX_13ใส่ URL, กด Capture, แล้วกด Copy เพื่อเอาภาพทั้งหน้าเว็บไปใช้ต่อได้เลย

ShareX_14

9. อีกอันที่น่าลองเล่นคือ Auto Capture..

ShareX_15
ที่สามารถตั้งเวลาได้ ว่าจะให้จับภาพหน้าจอ ทุกๆ กี่วินาที

ShareX_16

ข้อสังเกตเพิ่มเติม: ShareX ใช้ตัว Image Editor ของ Greenshot! ดังนั้นความสามารถในตัว Image Editor ก็จะคล้ายๆ ของ Greenshot เลยครับ
ShareX_17
อย่างไรก็ตาม มีเรื่องหนึ่งที่ด้อยกว่า Greenshot ก็คือเรื่องการส่งภาพไปยังโปรแกรมจำพวก Word, Excel, PowerPoint ซึ่งในจุดนี้ก็แล้วแต่ลักษณะการใช้งานของเราแล้วล่ะครับ ถ้าชอบอัดภาพเคลื่อนไหวบนหน้าจอบ่อยๆ ก็ใช้ ShareX เป็นหลัก แต่ถ้าต้อง Capture แล้วส่งภาพไปยังโปรแกรม Word บ่อยๆ ก็ใช้ Greenshot โลด

INDEX กับ MATCH : ทลายข้อจำกัดของ VLOOKUP

วันก่อนพอดีมีเพื่อนคนหนึ่งพูดถึงฟังก์ชั่น VLOOKUP ขึ้นมา เลยนึกสนุกอยากเอาเรื่องที่เกี่ยวกับสูตรนี้มาลองเขียนดู

สำหรับการทำงานกับข้อมูล แล้ว VLOOKUP นี่ถือเป็นสูตรที่เจ๋งมากๆ ตัวนึง และมีคนใช้ในการดึงข้อมูลจากตารางเยอะมาก แต่ในตัวมันเองก็ยังมีข้อจำกัดบางประการ* เช่น:

  1. ข้อมูลที่จะเอากลับมาต้องอยู่ทางด้านขวาของ Column ที่เราจะค้นหาเท่านั้น
    เช่นจากรูปตัวอย่างด้านล่างนี้ หากผมต้องการการค้นข้อมูลโดยใช้ตัวอักษรย่อ 2 ตัว เพื่อหาข้อมูลจากใน Column B .. ผมสามารถใช้ VLOOKUP ได้หากค่าที่ผมอยากได้อยู่ใน Column C/D/E
    แต่ถ้าอยากได้ชื่อประเทศจาก Column A ก็จะทำไม่ได้ เพราะ VLOOKUP จะใช้ข้อมูลจาก Column ซ้ายสุดเป็นตัวตั้งต้นเท่านั้นINDEX_MATCH_01
  1. ถ้ามีการแทรก Column เพิ่มเข้าไป อาจจะทำให้ VLOOKUP มีการ return ค่าจาก Column ที่ผิดได้ ตัวอย่างเช่น ในสูตรด้านล่างนี้ ผมค้นข้อมูลด้วยตัวอักษร 2 ตัว และต้องการได้ค่า Code ตัวเลขคืนมา ซึ่งก็คือ Column Index ที่ 3
    INDEX_MATCH_02พอมีการแทรก Column เข้าไปปุ๊บ.. ผลที่ได้จาก VLOOKUP ก็จะผิดทันที
    INDEX_MATCH_03

หมายเหตุ: จริงๆ ข้อจำกัดที่กล่าวมานี้ ก็พอจะมีวิธีแก้โดยยังใช้ VLOOKUP ร่วมกับ Formula อื่นอยู่ แต่ว่าจะค่อนข้างซับซ้อนไปหน่อย


ด้วยข้อจำกัดดังกล่าวของ VLOOKUP เราสามารถหันมาใช้ INDEX กับ MATCH แก้ปัญหาแทนได้ครับ

(พอเห็นเป็นสูตร 2 ตัว ก็อย่าเพิ่งตกใจ เพราะว่าจริงๆ แล้วมันเข้าใจง่ายมาก!)

ก่อนอื่น เพื่อให้เห็นภาพได้ง่ายขึ้น สามารถ Download ไฟล์ตัวอย่าง ที่อธิบายการใช้งาน INDEX & MATCH ทีละขั้นๆ ไปลองดูได้เลยครับ

ไฟล์ตัวอย่าง INDEX_MATCH_STEP_BY_STEP Tutorial

MATCH

MATCH จะใช้สำหรับค้นหาในช่วงของเซลล์ต่างๆ จากนั้นก็จะบอกได้ว่า ไอ้ค่าที่เราต้องการนั้น อยู่ในลำดับที่เท่าไหร่ของแถวข้อมูล
โดยวิธีการใช้… ที่ถ้าหากแปลงเป็นคำพูด น่าจะประมาณนี้ (เพิ่มเติม)

=Match( <ค่าที่จะใช้สำหรับหา> ,  <แถวของข้อมูลที่จะค้นหา> , <ค้นหาแบบไหน> )

ในที่นี้ <ค้นหาแบบไหน> จะใช้เป็น 0 คือ Exact Match ครับ เพราะเราต้องการค่าที่มันใช่เป๊ะๆ จริงๆ
ตัวอย่างเช่น ข้างล่างนี้ ผมใช้ MATCH ในการหาข้อมูลใน Column B…

=Match(  หา “AS”  ,  จากเซลส์ B2 ถึง B250 , หาแบบ Exact Match… เอาแบบเป๊ะๆ เลยนะ )

มันก็จะบอกกลับมาว่า.. ไอ้ที่ผมหาว่า AS เนี่ย… พอไปค้นดูแล้ว มันอยู่ลำดับที่ 5 นะ… โอเคป้ะ?

INDEX_MATCH_04

..

INDEX

INDEX ใช้ในการช่วยคืนค่าจากแถวข้อมูลที่เราต้องการ โดยให้เราระบุตำแหน่งไปว่า จะเอาค่าที่ตำแหน่งไหน

วิธีใช้สำหรับในกรณีของบทความนี้* ถ้าพูดเป็นคำพูด ได้ประมาณนี้ (เพิ่มเติม):

=INDEX( <แถวของข้อมูล> , <ตำแหน่งที่เท่าไหร่?> )

จากตัวอย่างข้างล่าง ผมบอกว่าจะเอาข้อมูลจากช่วงเซลส์ D2 ถึง D250, เอาตำแหน่งที่ 5

ก็จะได้กลับมาเป็น 016

INDEX_MATCH_05

ใช้ INDEX ร่วมกับ MATCH

จะเห็นว่า หลังจากเราใช้ MATCH ใน Column ที่เราจะค้นหา ว่าค่าที่จะค้นหามันอยู่ตำแหน่งที่เท่าไหร่ได้แล้ว

เราก็แค่ใช้ INDEX กับอีก Column หนึ่งที่เราอยากได้ค่ากลับคืนมา โดยระบุตำแหน่งที่ได้มาจาก Match นั่นแหละ

โดยจากตัวอย่างก่อนหน้า แทนที่จะระบุในสูตร INDEX ว่าเอาค่าจากตำแหน่งที่ ‘5’ ตรงๆ เราก็แค่เปลี่ยนไปเอาค่าที่ได้จาก MATCH มาใช้แทน เพียงเท่านี้ เราก็จะได้สูตร INDEX & MATCH ที่ทำงานร่วมกันได้เหมือน VLOOKUP แล้วครับ

INDEX_MATCH_06_01

ทีนี้ ถ้าเราอยากจะได้ข้อมูลจาก Column A แทน ก็แค่เปลี่ยนแถวข้อมูลที่เราจะใช้กับ INDEX ไปที่ Column A แทน

(ถ้ารูปไม่ชัด ให้คลิ้กที่รูปเพื่อเปิดดูขนาดเต็ม)

INDEX_MATCH_06

และเพื่อประหยัดพื้นที่ เราสามารถจับเอา MATCH มายัดไส้ไว้ใน INDEX ตรงๆ ไปเลย

INDEX_MATCH_07

ได้เป็น:

INDEX_MATCH_08


ด้วยวิธีนี้ เราก็จะสามารถใช้ INDEX และ MATCH แทน VLOOKUP ได้ และยังสามารถเรียกขอคืนค่าที่อยู่ใน Column ด้านซ้ายมือของแถวข้อมูลที่เราจะ Lookup ได้อีกด้วย

แล้วถ้าวันใดวันหนึ่ง ตำแหน่ง Column ของในตารางต้องมีการต้องเปลี่ยนแปลง เช่น เพิ่ม Column เข้ามา เราก็ไม่ต้องกลัวว่าสูตรนี้จะมีปัญหา เพราะมัน Fix Column ไว้อยู่แล้ว

INDEX_MATCH_COLUMNS_INSERTION

Greenshot : โปรแกรมจับภาพหน้าจอเจ๋งๆ อีกหนึ่งตัว

เชื่อว่าพนักงานออฟฟิศหลายๆ คน โดยเฉพาะในแผนก IT มีบ่อยครั้งที่ต้องทำการจับภาพหน้าจอของโปรแกรมต่างๆ ไม่ว่าจะเพื่อทำเป็นเอกสาร ส่งอีเมล์ ฯลฯ

Greenshot จะช่วยให้งานประเภทนี้ทำได้ง่ายขึ้นมาก (และลดความน่าเบื่อไปได้โข!)

จุดเด่นหลักๆ ของ Greenshot

  • สามารถตั้งค่า Output ได้หลายแบบ ว่าหลังจากสั่ง Capture แล้วจะให้ทำอะไรต่อ เช่น โยนไปไว้ใน Clipboard, Word, PowerPoint, หรือแม้กระทั่ง Upload ขึ้น Website หรือ Cloud อย่าง Picasa, PhotoBucket, Flickr, DropBox, Box เป็นต้น
  • มี Image Editor ที่มีฟังก์ชั่นค่อนข้างครอบคลุมการจัดการกับภาพหน้าจอ เช่น
    • เขียนคำบรรยายประกอบ
    • วาดรูปกล่อง วงกลม เส้น ลูกศร หรือ Balloon
    • ใส่ Counter (อันนี้เหมาะสำหรับการที่จะเขียนบรรยายแบบ Step-by-Step)
    • ใส่ Highlight ในจุดที่อยากจะเน้น
    • Crop/Rotate/Resize
  • ใช้งานง่ายโดยที่ลูกเล่นฟังก์ชั่นการใช้งานก็ค่อนข้างครบเครื่อง
  • เป็น Opensource (ซึ่งต่างจาก PicPick และ FastStone Capture 5.3 ที่เป็นแบบ Free for Personal Use เท่านั้น)

จุดด้อย

  • จับภาพเคลื่อนไหว/อัดเป็น Video ไม่ได้**
  • จับภาพ Scrolling Window ไม่ได้ (ตรงเป็นจุดที่ด้อยกว่า PicPick และ FastStone Capture 5.3)

**คราวหน้าจะพูดถึงโปรแกรมที่สามารถจับภาพเคลื่อนไหวแล้วทำเป็น Animated GIF หรือ video ได้อีกทีครับ


มาลองใช้งาน Greenshot กันเลยดีกว่า:

  1. Download program จากหน้าเว็บไซต์ของผู้พัฒนา http://getgreenshot.org/
    ..
  2. พอโหลดเสร็จแล้ว ก็ Run ตัวไฟล์ Installer เลยครับ (หรือถ้าไม่อยากลงโปรแกรม ก็สามารถดาวน์โหลด Portable Version ได้จาก : Link1, Link2)
    ..
  3. ระหว่างทาง เราจะเห็นหน้าหนึ่งขึ้นมาให้เลือกว่าจะลง Plug-ins ตัวไหนบ้าง ลองไล่ดูแล้วเลือกตามที่ใช้งานครับ แต่ถ้าไม่มั่นใจ อย่างน้อยก็เลือก Microsoft Office plug-in ครับ เพราะมีโอกาสสูงที่น่าจะได้ใช้กับโปรแกรมของ Microsoft Office (Word,PowerPoint,Excel)
    greenshot_001
  4. พอติดตั้งโปรแกรมเสร็จ เราจะเห็นหน้า Settings ขึ้นมา (ถ้าไม่มี ก็ให้ไปคลิ้กที่ Icon ของโปรแกรมที่ System Tray แล้วเลือก Preferences)
    • ในหน้า General นี้ ให้เราดูค่า Hotkeys ที่โปรแกรมตั้งค่ามาให้แต่ต้น ถ้ารู้สึกว่าอันไหนไม่ถนัดก็คลิ้กตรงช่อง Input Box แล้วกด Hotkeys ของเราเองได้เลยครับ ในกรณีของผม รู้สึกว่าปุ่ม Print Screen ที่โปรแกรมให้มามันกดยาก ก็เลยตั้งเป็น Ctrl+Shift+R กับ Ctrl+Alt+R แทน
      greenshot_003
    • ทีนี้มาดูที่แถบ Destination กันบ้าง ตรงนี้จะเป็นตัวเลือกว่า หลังจาก Capture ภาพแล้ว จะให้ทำอะไรต่อ อย่างกรณีของผม ส่วนใหญ่จะต้องทำการ Edit และ Annotate เพิ่มเติม จึงเลือกเป็น Open in image editor ไว้แบบในรูป
      greenshot_004
    • ตั้งค่าเสร็จแล้วก็กด OK เลย แล้วเดี๋ยวเรามาลองเล่นกันดู
      ..
  5. ให้คลิ้กที่ Greenshot Icon ที่ System Tray จะเห็น Action ในส่วนของการ Capture (และมี Hotkeys บอกด้วย) ลองเลือก Capture Region ดูครับ
    greenshot_005
    ..
  6. โปรแกรมจะให้เราเลือก Region ที่ต้องการจะจับภาพ
  7. หลังจากจับภาพเสร็จแล้ว ถ้าตั้งค่าไว้เหมือนผม โปรแกรมจะเอาภาพมาเปิดใน Image Editor จากตรงนี้ เราก็จัดการแก้ไขเพิ่มเติมเนื้อหาในภาพได้ตามใจ จากนั้น ก็สามารถเลือกได้ว่าจะ Save เป็นไฟล์, Copy To Clipboard (เพื่อไป Paste ในโปรแกรมอื่นต่อ), หรือส่งไปที่โปรแกรมอื่นตรงๆ เลย อย่างเช่น Word หรือ PowerPoint หรือจะ Upload ขึ้นพวก Website หรือ Cloud ก็ได้
    greenshot_workflows

หมายเหตุ:

  • ในที่นี้ผมไม่ได้ลง Plug-in สำหรับพวก Cloud ไว้ และไม่เคยต้องทำการ Upload ภาพขึ้น Website มาก่อนเลย จึงไม่มีตัวอย่างให้ดู ต้องขออภัยด้วยครับ – -“
  • ถึงแม้ว่าโปรแกรมนี้จะฟรี แต่หากใครอยากที่จะสนับสนุนผู้พัฒนา ก็สามารถ Donate ได้ผ่านทาง Link นี้ครับ