Month: May 2017

  • หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ

    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ

    ผมเพิ่งได้มีโอกาสเล่นเกม ROV (Realm of Valor) มาประมาณ 2-3 อาทิตย์ ซึ่งบอกเลยว่าเล่นแล้วติดมาก เพราะมันสนุก 555 แต่มีสิ่งหนึ่งที่ผมหงุดหงิดมาก คือ มันหาข้อมูลยากมากเลยว่าวิธีคำนวณดาเมจต่างๆ ในเกม มันคิดยังไงกันแน่? (คือพอนึกออกมะ? มันเป็นเกม ดังนั้น มันต้องมีกฎที่ชัดเจนแน่นอน แค่เรายังหาไม่เจอ)

    ซึ่งถ้าเรารู้กฎของเกม รู้วิธีคำนวณต่างๆ มันจะทำให้เราเลือกกลยุทธ์การเล่นที่เหมาะสมได้นะ !!

    ผมพยายามหาทั่วอินเตอร์เนตแล้วก็หาไม่เจอซักที สงสัยอาจเป็นเพราะต้องหาเป็นภาษาจีนรึเปล่าไม่รู้? แต่ช่างเถอะ ไหนๆ เกมมันก็มีโหมดฝึกซ้อมให้ปรับค่าเล่นได้ และมีโหมดสร้างเกมให้เราชวนเพื่อนมาทดลองการออกของได้อยู่แล้ว

    ผมก็เลยถือโอกาสนี้ทำตัวเป็นนักวิทยาศาสตร์ทำการทดลองและไขความลับเองซะเลย!! ซึ่งผมจะอธิบายวิธีการทดสอบทีละขั้นตอน แต่ถ้าใครใจร้อนก็เลื่อนไปดูสรุปผลการทดลองท้ายบทความได้เลย

    ค่า Stat พื้นฐานของแต่ละตัวละครไม่เหมือนกัน

    ตัวละคนแต่ละตัว จะมี Stat พื้นฐานไม่เหมือนกัน
    และเมื่อ Level Up จะมี Stat บางตัวเพิ่มขึ้นทำให้ตัวละครเก่งขึ้น แต่ Stat บางตัวจะไม่เพิ่มขึ้นนะ

    ที่น่าสนใจคือ ไม่มีตัวไหนมี Stat พลังเวทติดตัวมาเลย และ การต้านทานเวท ทุกตัวเท่ากันหมดทุก Level เลย

    การออกไอเท็มเพื่อเพิ่มค่า Stat

    ไอเท็มในเกม สามารถออกได้สูงสุด 6 ชิ้นด้วยกัน ซึ่งมีหลักการคิดที่ผลของไอเทมจะแสดงออกมาซ้อนกันด้วย นั่นคือ

    • ถ้าไม่ใช่สกิลติดตัว : จะเอาค่า Effect มารวมกันเลย มีหลายอันก็เอามารวมได้เรื่อยๆ
    • ถ้าเป็น สกิลติดตัว : หากเป็น Effect เหมือนกัน จะเอา Effect อันที่มีค่ามากที่สุดมาอันเดียว

    เช่น ผมออก Spooky Mask 2 อัน (ความสามารถของมันคือ +100 พลังเวท และ สกิลติดตัวคือ เจาะเกราะเวท +75)

    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 1
    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 2

    มันจะ +100 พลังเวท 2 ที รวมเป็น +200 พลังเวท แต่เจาะเกราะเวท +75 ที่เป็นสกิลติดตัวจะมาแค่อันเดียว

    แต่ถ้าออก Staff of Nuul ที่ + เจาะเกราะเวท 45% ด้วยมันจะถือว่าเป็นคนละ Effect กัน จึงสามารถแสดงผลได้

    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 3

    นี่ไง ได้ทั้งเจาะเกราะ +75 และ +45% เลย

    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 4

    ดังนั้น การออกสมุดเวท 6 เล่ม จึง +พลังเวท +400*6 = +2400 แต่จะบวกพลังชีวิตแค่ 1400 เท่านั้นนะ

    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 5
    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 6

    วิธีการคิดค่าดาเมจ

    การทดสอบ#1

    ผมเข้าโหมดฝึกซ้อม แล้วเอาฮีโร่ไปโจมตีครีป และ Hero อีกฝั่งหนึ่ง โดยที่ไม่ได้ใส่ Item เจาะเกราะเลย แต่มีการเพิ่มพลังโจมตีไปเรื่อยๆ ผลลัพธ์ที่ได้คือ Damage ที่เกิดขึ้นจริงนั้นมีสัดส่วน %ที่คงที่ (%ที่ Damage หายไป คงที่) ซึ่งคิดว่าน่าจะเป็นเพราะเกราะ

    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 7

    การทดสอบ#2

    เพื่อให้ได้ค่าของเกราะที่ชัดเจน จึงลองเข้าโหมดสร้างเกมกับเพื่อนอีกคน แล้วจดค่าสถิติต่างๆ เอาไว้

    แล้วผลก็ออกมาชัดเลย ว่า % Damage ที่หายไปขึ้นอยู่กับ %เกราะของศัตรู อย่างชัดเจน (ค่า Damage จริง จะแกว่งเล็กน้อย % เลยไม่เป๊ะ)

    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 8

    การทดสอบ#3

    จากการที่เพื่อนผมซื้อไอเทมเกราะเพิ่มเติม มันดูเหมือนว่าจจะทำให้ % เกราะเปลี่ยนแปลงไป ผมเลยลองจดข้อมูล เกราะ vs %เกราะ ดูแล้วพบว่ามันมีความสัมพันธ์เป็นกราฟเส้นโค้ง ที่ว่า

    • ช่วงแรกๆ ถ้าเพิ่มเกราะ %เกราะจะเพิ่มเยอะมาก
    • แต่ช่วงหลังๆ เวลาเกราะเยอะแล้ว เวลาเพิ่มเกราะเข้าไป… %เกราะก็จะแทบไม่เพิ่มแล้ว
      (แบบว่าเพิ่มให้ตายก็ไปตันที่ประมาณ 80%)
    • ซึ่งเลขนี้ใช้ได้กับค่า ต้านทานเวท กับ % ต้านทานเวทด้วย ซึ่งเป็นเลขเดียวกันเป๊ะเลย
    คำนวณดาเมจ ROV
ROV Damage Calculation

    ตารางเปรียบเทียบทั้งหมด ดูได้ที่นี่

    เกราะ/ต้านทานเวท%เกราะ/%ต้านทานเวท
    507.6%
    588.8%
    6710.0%
    7511.1%
    8312.1%
    8412.2%
    8612.5%
    8712.6%
    8812.7%
    8912.9%
    9113.1%
    9213.2%
    9513.6%
    9613.7%
    10014.2%
    10114.4%
    10314.6%
    10414.7%
    10715.1%
    10915.3%
    11015.4%
    11816.4%
    12016.6%
    12116.7%
    12317.0%
    12517.2%
    12617.3%
    12817.5%
    12917.6%
    13518.3%
    13718.5%
    13818.6%
    13918.8%
    14018.9%
    14219.1%
    14319.2%
    14819.7%
    14919.8%
    15220.2%
    15420.4%
    15520.5%
    15620.6%
    16021.0%
    16921.9%
    17022.0%
    17122.1%
    17222.2%
    17622.6%
    18623.6%
    18823.8%
    18923.9%
    19024.0%
    20225.1%
    20525.4%
    20625.5%
    21025.9%
    21126.0%
    21726.5%
    22227.0%
    22327.0%
    22927.6%
    23027.7%
    23127.7%
    23227.8%
    23928.4%
    24028.5%
    24829.2%
    25129.4%
    25529.8%
    25629.9%
    25830.0%
    26330.4%
    26930.9%
    27131.1%
    27231.1%
    27531.4%
    27831.6%
    28231.9%
    28932.5%
    29232.7%
    29332.8%
    30533.7%
    30633.7%
    30833.9%
    30933.9%
    31234.2%
    31334.2%
    31534.4%
    32334.9%
    32635.2%
    33335.6%
    33535.8%
    33635.8%
    33836.0%
    35036.8%
    35337.0%
    36137.5%
    36938.0%
    37138.2%
    37438.3%
    38839.2%
    39439.6%
    40240.1%
    40940.5%
    41440.8%
    44142.3%
    45943.3%
    46743.7%
    46943.8%
    49445.1%
    56948.6%
    59449.7%
    66952.7%
    69453.6%
    76956.1%
    79456.9%
    89459.8%
    99462.3%
    109464.5%
    119466.5%
    129468.3%
    139469.9%
    149471.3%
    159472.6%
    169473.8%
    179474.9%
    189475.9%
    199476.8%
    209477.7%
    219478.5%
    229479.2%
    235479.6%
    241480.0%
    247480.4%
    253480.8%
    259481.2%
    265481.5%
    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 9

    พอไปดูในข้อมูลฮีโร่ในโหมดฝึก เจ้า Thane ในโหมดฝึก มันจะมีเกราะ 259 มาตั้งแต่ต้นที่ Level 1 เลย ( ปกติ Thane Level 1 จะเกราะไม่เยอะขนาดนี้นะ) ซึ่งพอดูจากกราฟโค้งๆ ข้างบน เกราะ 259 มันคือ % เกราะประมาณ 30% พอดี จึงยิ่งมั่นใจว่าผมน่าจะเข้าใจเรื่องกราฟถูกต้อง

    การทดสอบ#4

    หลังจากนั้นผมลองไปดูเรื่องผลของการเจาะเกราะในโหมดฝึก

    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 10

    ตอนแรกก็ยังดูไม่ค่อยออกว่ามันคำนวณยังไงกันแน่ เพราะ เจาะเกราะดูเหมือนไม่ได้สัมพันธ์กับ Damage ที่หายไปตรงๆ (เช่น เจาะเกราะ 60 ไม่ได้ทำให้ค่า Damage ต่างกัน 60) แต่ที่แน่ๆ การเจาะเกราะ และ % เจาะเกราะ มันทำให้เกราะศัตรูลดลงไป

    ลองคิดๆๆๆๆๆ

    เจาะเกราะ

    ถ้าเจาะเกราะ 60 คือการลดเกราะศัตรูลงไป 60 หน่วยล่ะ แล้วค่อยไปดูกราฟโค้งอีกทีว่า % เกราะเหลือประมาณเท่าไหร่?
    นั่นคือ เกราะจะเหลือ =259-60 = 199 ซึ่งจะคิดเป็น % เกราะประมาณ 25%
    ซึ่งใช่เลย!! จากผลการทดลอง Damage หายไป 24.7% ซึ่งใกล้เคียงมาก

    %เจาะเกราะ

    แล้ว %เจาะเกราะล่ะ ถ้า 35% มันคือลดเกราะศัตรูไป 35% รึเปล่าน่ะ?
    นั่นคือ =259- (35%*259) = 168.35 จากกราฟโค้งได้ 21.9% ซึ่งจากการทดลองคือ 22% ซึ่งมันใช่เลย

    ถ้า %เจาะเกราะ คือ 45% ก็ต้องเป็น =259- (45%*259) = 142.45 จากกราฟโค้งจะได้ 19.2% ซึ่งการทดลองได้ 20% ก็ถือว่าตรงนะ

    ถ้ามีเจาะเกราะด้วย % เจาะเกราะด้วยล่ะ? จะคิดอะไรก่อนหลัง?

    จากที่ผมทดลอง คือ เจาะเกราะ 60    %เจาะเกราะ 45

    • ถ้าคิด %เจาะเกราะก่อน แล้วค่อยคิดเจาะเกราะ
      • เกราะที่ถูกเจาะ =259*45%  + 60 = 176.55
      • เกราะคงเหลือ = 259-176.55 = 82.45 จากกราฟโค้งได้ 12.1%
    • ถ้าคิด เจาะเกราะก่อน แล้วค่อยคิด %เจาะเกราะ 
      • เกราะที่ถูกเจาะ =60 + (259-60)*45%  = 149.55
      • เกราะคงเหลือ = 259-149.55 = 109.45 จากกราฟโค้งได้ 15.3% เป๊ะ!!

    แสดงว่ามันเอาเจาะเกราะไปลบก่อน แล้วค่อยเอา %เจาะเกราะไปคิดทีหลังครับ

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

     สรุปวิธีการคำนวณดาเมจ

    • พลังโจมตีกายภาพ และพลังเวท ใช้หลักการเดียวกันเป๊ะ โดยเทียบกันดังนี้
      • พลังโจมตี (กายภาพ) == พลังเวท
      • เกราะ == ต้านทานเวท
      • %เกราะ == %ต้านทานเวท
      • เจาะเกราะ == เจาะเกราะเวท
      • %เจาะเกราะ == %เจาะเกราะเวท
    • พลังโจมตีถูกต้านทานด้วยเกราะ
      • ดาเมจที่ศัตรูโดน = พลังโจมตี * (1- %เกราะ)
    • เกราะ เป็นตัวสร้าง % เกราะ
      • ยิ่งเกราะ มาก %เกราะ ก็ยิ่งมาก แต่จะเพิ่มในอัตราที่ลดลงเรื่อยๆ (ทั้งเกราะ และ ต้านทานเวท ใช้กราฟโค้งเดียวกัน)
    • เกราะศัตรูสามารถถูกลดลงได้จากการถูก เจาะเกราะ และ % เจาะเกราะ
      • เกราะคงเหลือจะโดน คิดจากเจาะเกราะธรรมดาก่อน แล้ว ค่อยคิดจาก %เจาะเกราะ
      • เกราะคงเหลือ = เกราะ – ( เจาะเกราะ + (เกราะ – เจาะเกราะ)*%เจาะเกราะ )
      • แล้วค่อยเอา เกราะคงเหลือที่คำนวณได้ ไปดูกราฟโค้ง ว่ามี %เกราะเท่าไหร่

    การดูดเลือด และ เวทแวมไพร์

    ดูดเลือด และ เวทแวมไพร์  คิดเป็น % จากดาเมจที่ทำได้ครับ เช่น

    ถ้าใส่ Soul Reaver 5 อัน จะดูดเลือด 50% สมมติ เวลาโจมตีเข้า 400 ก็จะดูดเลือด 200 ครับ

    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 11
    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 12
    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 13
    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 14

    การโจมตีคริติคอล

    เมื่อโจมตีติดคริติคอล (ตัวเลขดาเมจอันใหญ่ๆ ) ดาเมจที่เกิดขึ้นจะเป็น 2 เท่าของดาเมจปกติครับ

    เช่น

    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 15
    หายหัวร้อน! ไขความลับวิธีคำนวณดาเมจเกม ROV และ ผลจากการออกของต่างๆ 16

    พลังโจมตี 411 เกราะศัตรู 183 จากกราฟโค้งคือ ประมาณ 23%

    ดาเมจปกติ = 411-(1-23%) = 316.47 ในรูปได้ 314

    ดาเมจคริติคอล = ดาเมจปกติ *2 = 314*2 = 628

  • แจกฟรี รวม Bookmark Link เว็บ Excel เจ๋งๆ ทั้งไทยและเทศ

    แจกฟรี รวม Bookmark Link เว็บ Excel เจ๋งๆ ทั้งไทยและเทศ

    ถ้าใช้ Chrome ให้ทำตามขั้นตอนต่อไปนี้

    1. โหลดไฟล์ได้ที่นี่ => https://drive.google.com/file/d/0B4xG7-sIyJBDTFhscW84WmpSSkk/view?usp=sharing
      แจกฟรี รวม Bookmark Link เว็บ Excel เจ๋งๆ ทั้งไทยและเทศ 17
      แล้ว save ลง folder ที่ต้องการ
      แจกฟรี รวม Bookmark Link เว็บ Excel เจ๋งๆ ทั้งไทยและเทศ 18
    2. ไปที่ Bookmark Manager (หรือกด Ctrl+Shift+O)
      แจกฟรี รวม Bookmark Link เว็บ Excel เจ๋งๆ ทั้งไทยและเทศ 19
    3. ไปที่ Organize -> Import bookmark from HTML file
      แจกฟรี รวม Bookmark Link เว็บ Excel เจ๋งๆ ทั้งไทยและเทศ 20
    4. มันจะโหลดมาไว้ใน Folder Imported ซึ่งจะโผล่มาล่างสุด ซึ่งถ้าอยู่ท้ายเกินไปจนมองไม่เห็น ให้ลากขึ้นมาไว้บนๆ
      แจกฟรี รวม Bookmark Link เว็บ Excel เจ๋งๆ ทั้งไทยและเทศ 21
    5. ถ้าให้ดี ลาก Folder inwExcel Link ออกไว้ในในชั้นนอกสุด (นอก Imported) จะได้เห็นชัดๆ เลยดีกว่า
      แจกฟรี รวม Bookmark Link เว็บ Excel เจ๋งๆ ทั้งไทยและเทศ 22
    6. เพียงเท่านี้ก็เสร็จแล้ว คราวต่อไปจะได้เข้าไปอ่านเว็บเหล่านี้ได้ง่ายๆ ครับ
      นี่เว็บไทย
      แจกฟรี รวม Bookmark Link เว็บ Excel เจ๋งๆ ทั้งไทยและเทศ 23

      นี่เว็บเมืองนอก
      แจกฟรี รวม Bookmark Link เว็บ Excel เจ๋งๆ ทั้งไทยและเทศ 24
  • วิธีใช้ Slicer แทน Drop down หลายชั้น

    วิธีใช้ Slicer แทน Drop down หลายชั้น

    ผมเคยได้อธิบายวิธีทำ Drop down หลายชั้นไปแล้ว คราวนี้เราจะมาลองใช้ Slicer ทำแบบนั้นกันบ้างครับ ซึ่งตอน post แบบน้ำจิ้มไว้ใน Facebook ผมแสดงเทคนิคที่ต้องใช้ Excel 2013 ขึ้นไปดังนี้ แล้วบอกว่าจะเขียนวิธีทำแบบละเอียดให้

    slicer drop down

    แต่เผอิญวันนี้ผมมาต่างจังหวัด ในคอมมันมีแต่ Excel 2010 …

    ดังนั้นเดี๋ยวผมจะเปลี่ยนวิธีมาใช้แบบที่ Excel 2010 ขึ้นไปทำได้ครับ (แต่มันไม่เจ๋งเท่า Excel 2013)

    วิธีใช้ Slicer แบบที่ Excel 2010 ทำได้

    ก่อนอื่นให้เตรียมตารางความสัมพันธ์ของข้อมูลเอาไว้ก่อน เช่น

    วิธีใช้ Slicer แทน Drop down หลายชั้น 25

    จากนั้นกด Convert เป็น Table (Ctrl+T) เดี๋ยวเราจะเอาไป Pivot ครับ

    วิธีใช้ Slicer แทน Drop down หลายชั้น 26

    แล้วเราก็เอาไป Pivot แล้วเอา ทุก Field ไปไว้ที่ Row Label

    วิธีใช้ Slicer แทน Drop down หลายชั้น 27

    เปลี่ยน Layout เป็น Tabular Form (อยู่ใน Ribbon Design)

    วิธีใช้ Slicer แทน Drop down หลายชั้น 28

    เลือก Do not show subtotal

    วิธีใช้ Slicer แทน Drop down หลายชั้น 29

    คราวนี้ใส่ Slicer ทั้ง 3 อัน

    วิธีใช้ Slicer แทน Drop down หลายชั้น 30

    ลองเลือกดู ก็จะเห็นว่ามันทำงานได้แล้ว แต่มันดันแสดง Item ที่ไม่เกี่ยวข้องอยู่ แต่จะเป็นสีเทาๆ แล้วจะแสดงอยู่ท้ายๆ (ก็ไม่แย่มากนะผมว่า ^^ )

    วิธีใช้ Slicer แทน Drop down หลายชั้น 31
    วิธีใช้ Slicer แทน Drop down หลายชั้น 32

    ซึ่ง Excel 2013 ขึ้นไป จะสามารถไปที่ Slicer Setting แล้วซ่อน Item ที่ไม่เกี่ยวข้องได้

    แต่ Excel 2010 ผมเข้าใจว่าทำไม่ได้ครับ  ผมก็เลยต้องใช้วิธีปรับสีของ Slicer ให้ Item ที่ไม่ได้เลือกมองไม่เห็นซะ (หลอกตาคนดูเอา)

    โดยผมแนะนำให้ Duplicate  Style เดิมที่คุณชอบออกมา แล้ว Modify แก้ Style ของ Selected Item with no Data กับ Unselected item with no data ให้กลายเป็นสีขาวไปเลยก็ได้ 555

    วิธีใช้ Slicer แทน Drop down หลายชั้น 33

    จากนั้นลองเล่นดู แค่นี้ก็ดูเนียนแล้ว 5555

    วิธีใช้ Slicer แทน Drop down หลายชั้น 34
    วิธีใช้ Slicer แทน Drop down หลายชั้น 35

    อย่าลืมนะครับ ถ้าถูกใจช่วยบอกต่อด้วยนะ ^^

  • วิธีนับข้อมูลใน Pivot แบบนับไม่ซ้ำกัน (Distinct Count)

    วิธีนับข้อมูลใน Pivot แบบนับไม่ซ้ำกัน (Distinct Count)

    เวลาที่ใช้ PivotTable เพื่อวิเคราะห์ข้อมูล หลายๆ คนน่าจะมี Moment ที่อยากสรุปข้อมูลโดยนับจำนวนสิ่งที่สนใจแบบไม่ซ้ำ หรือ Distinct Count กันบ้างแหละ…

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

    “แต่การนับแบบนี้มันเป็นเรื่องยากมากเลยนะ จะให้นับยังไงล่ะ ก็ใน Pivot มันมีแต่ Count กับ Count Number นี่นา?” นี่คงเป็นสิ่งที่หลายคนคิดมาโดยตลอด

    ผมอยากจะบอกว่า ใช่ครับ มันเคยเป็นเรื่องยากมากๆ แต่ว่าตั้งแต่ Excel 2010 เป็นต้นไป หากเราใช้ Concept ของ Data Model เข้ามาช่วยในการวิเคราะห์ข้อมูลแล้วล่ะก็….

    Pivot Table มันจะมีความสามารถใหม่เพิ่มขึ้นมานั่นก็คือ Distinct Count นั่นเอง!! และเรื่องของเรื่องคือ มันทำง่ายมากกกกกกกก!!

    วิธีการทำให้ PivotTable นับแบบ Distinct Count

    1. ต้องสร้าง PivotTable แบบที่ใช้ Data Model เข้าช่วย
    (ถ้าใครใช้ Excel 2010 ต้องสร้างผ่าน PowerPivot รายละเอียดคล้ายๆ บทความ OLAP CUBE อันนี้ครับ)

    วิธีนับข้อมูลใน Pivot แบบนับไม่ซ้ำกัน (Distinct Count) 36

    2. ทำการจัด PivotTable ตามรูปแบบที่ต้องการก่อน

    วิธีนับข้อมูลใน Pivot แบบนับไม่ซ้ำกัน (Distinct Count) 37

    3.คลิ๊กขวาที่ Field ที่ต้องการเปลี่ยน เลือก Summarize Value By –> More Options…

    วิธีนับข้อมูลใน Pivot แบบนับไม่ซ้ำกัน (Distinct Count) 38

    4.เลือก Distinct Count กด ok จบ!

    Distinct Count

    แค่นี้ผลลัพธ์ก็ออกมาแล้ว ง่ายมากๆ จริงมั้ยครับ ^^

    Distinct Count

    ช่วยกันบอกต่อ

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

  • วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula

    วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula

    จากที่ผมได้ Post ถามหยั่งเชิงใน Facebook ไปว่าใครสนใจวิธีทำลายข้อจำกัดเรื่องหน้าตาของ PivotTable บ้าง? ปราฏว่ามีคนให้ความสนใจเยอะมากๆ ดังนั้นผมเลยขอมาเขียนบทความอธิบายให้เล็กน้อยครับ

    PivotTable นั้นสร้างง่ายมาก แต่จัด Layout ไม่ได้ดั่งใจ

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

    แต่สิ่งที่มักจะเกิดขึ้นตามมาคือ คำพูดของหัวหน้าที่บอกว่า “รายงานนี้มันหน้าตาไม่สวยเลย ช่วยจัด xxx เว้นบรรทัด yyy แทรกคอลัมน์ zzz หน่อยสิ”

    แล้วคุณก็คงตอบกลับไปแบบสุภาพว่า “อ๋อ ทำไม่ได้ครับ…มันเป็นข้อจำกัดของ PivotTable ครับหัวหน้า” ทั้งๆ ที่จริงๆ อาจอยากตะโกนตอบกลับไปว่า “PivotTable มันแทรกบรรทัดไม่ได้เฟ้ย!”

    วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 39

    วิธีจัด Layout ที่อาจพอรู้กันอยู่แล้ว

    แต่ถ้าคุณอยากจะทำให้รายงานมันสวยได้ดั่งใจจริงๆ ก็มีวิธีที่หลายคนอาจจะรู้อยู่แล้ว ดังนี้

    1. Copy Pivot แล้ว Paste Value เพื่อเอาไปทำรายงาน : วิธีนี้ไม่แนะนำเป็นอย่างยิ่ง เพราะเสียความสามารถในการ Refresh ข้อมูลไปเลย ควรทำเฉพาะกรณีที่คิดว่าทำครั้งเดียวในชีวิต ไม่ต้องทำอีกแล้ว 555
    2. ใช้ GETPIVOTDATA : ปกติเวลากด = แล้วคลิ๊กไปในพื้นที่ Pivot แต่ละ Cell มันจะดึงข้อมูล Cell นั้นมา โดยสร้างสูตรยาวๆ ที่ขึ้นต้นด้วยคำว่า GETPIVOTDATA มาให้ด้วย
      วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 40
      • ซึ่งข้อดีคือ ไม่ว่า Pivot Table ต้นทางจะย้ายไปไหน หรือมีการ Filter Row/Column Label บางอย่างจนข้อมูลเลื่อนไปที่อื่น เจ้า GETPIVOTDATA จะยังเอาข้อมูลที่ถูกต้องมาให้
      • ข้อเสียคือ จะต้องกด = จิ้มทีละ Cell หรือเขียนสูตรทีละ Cell ซึ่งลำบากมากกว่าจะได้ครับ
    3. กด = แล้วจิ้ม แบบ Cell Reference ปกติ : บางคนไม่ชอบ GETPIVOTDATA เลยไปเลือก Option ให้ Excel ไม่ต้องสร้างเจ้าฟังก์ชันนั้นขึ้นมาให้ (ติ๊ก Generate GetPivotData ออก) โดยอยากให้จิ้มแล้วเป็น Cell Reference ธรรมดาแทน จะได้เขียน/copy สูตรง่ายๆ
      วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 41 
      • ข้อดี : เขียนง่ายมาก แค่ = แล้วจิ้ม จากนั้น Copy มาได้ตามปกติ
        วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 42
      • ข้อเสีย : เสี่ยงต่อการที่ PivotTable เลื่อนจากที่เดิม ทำให้ได้ข้อมูลที่ผิดกลับไปโดยไม่รู้ตัว
    4. เลิกใช้ Pivot หันมาเขียนสูตรแทน : วิธีนี้เรียกว่าเปลี่ยนแนวโดยสิ้นเชิง เขียนสูตรเอาเองดีกว่า ไม่ง้อ Pivot ก็ได้ ไม่ว่าจะเป็นสูตรง่ายๆ อย่าง SUMIFS หรือจะใช้ Data Table มาช่วย หรืออาจจะใช้ Array Formula กรณีที่การคำนวณซับซ้อน
      • ข้อดี : มีความยืดหยุ่นสูงกว่า Pivot
      • ข้อเสีย : เขียนสูตรยาก (บางคนเจอตรงนี้ก็ยอมแพ้แล้ว) และอาจคำนวณช้ากว่า Pivot

    แต่วันนี้ผมมีอีกวิธีมาแนะนำครับ นั่นคือ ใช้ความสามารถที่เรียกว่า OLAP CUBE Formula

    วิธี OLAP CUBE Formula

    วิธีนี้ดีตรงที่ ไม่ต้องเขียนสูตรเอง และยังสามารถอัปเดทผลลัพธ์ได้เมื่อข้อมูลต้นทางเปลี่ยน เช่นเดียวกับ PivotTable เลย แต่ผมจะไม่ขอพูดทฤษฏี ณ ตอนนี้แล้วกันเอาเป็นว่าบทความนี้มาลองทำกันเลยนะครับ

    ผมจะขอแบ่งออกเป็น 2 วิธี คือ 1. ใช้ Data Model (Excel 2013 ขึ้นไป) 2. ใช้ PowerPivot (ซึ่งใช้ได้ตั้งแต่ Excel 2010 แต่ต้องลง Add-in) ซึ่งวิธีแรกน่าจะง่ายกว่าสำหรับคนส่วนใหญ่ครับ

    ใช้ Data Model (Excel 2013 ขึ้นไป)

    มี Step ประมาณนี้

    1. ตอนจะสร้าง PivotTable ให้ติ๊กช่อง Add to Data Model ด้วย
      วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 43
    2. สร้าง Pivot ให้สรุปข้อมูลตามปกติ เอาให้คล้ายรายงานที่ต้องการมากที่สุดก่อน
      วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 44
    3. ไปคลิ๊ก OLAP Tools -> Convert to Formulas…
      วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 45
       
      • เพียงเท่านี้ PivotTable ก็จะถูกแปลงเป็น Cell ที่เต็มไปด้วยสูตร CUBE ซึ่งข้อมูลแต่ละช่องจะแยกออกจากกัน
        วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 46
    4. จัด Layout ตามใจชอบ – คุณจะแทรกคอลัมน์ยังไง โยกข้อมูลยังไง ก็สามารถทำได้แล้ว
      วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 47

    จะเห็นว่า ผมจะปรับแต้งหน้าตายังไงก็ได้เลย ซึ่งอิสระขึ้นมากๆ ครับ ^^

    วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 48

    ใช้ PowerPivot (Excel 2010 ขึ้นไป)

    มี Step ประมาณนี้

    1. ถ้ายังไม่มี PowerPivot ให้ไปโหลดมา install ก่อน => Download ที่นี่
    2. Add Data เข้า Power Pivot โดยกดปุ่ม Create Linked Table
      วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 49
    3. สร้าง Pivot จากหน้าต่าง PowerPivot
      วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 50
    4. จากนั้นก็เหมือนแบบวิธี Data Model แล้วล่ะ จัดระเบียบแล้วกด Convert to Formulas โลด!
      วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 51
    5. Pivot จะถุกกระจายกลายเป็นสูตรที่แยกกันคนละช่องเช่นเดียวกับวิธีข้างบนครับ
      วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 52

    ผลลัพธ์ยังสามารถผูกกับ Slicer ได้เช่นเดิม

    หากตอนแรก Pivot ของเรามีการผูก Slicer ไว้ หลังจากแปลงเป็น CUBE Formula แล้ว Slicer ก็ยังทำงานได้นะครับ

    วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 53
    วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 54

    หลังกด Slicer ผลลัพธ์ก็จะถูกตัดกรองเช่นเดียวกับ PivotTable ปกติเลย!!

    วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 55

    แปลว่า เราสามารถเอาวิธีการนี้ ไปสร้าง Dashboard เท่ๆ ได้เลยนะ!!

    CUBE เป็นสูตร แต่ยังต้องกด Refresh เช่นเดียวกับ Pivot

    เนื่องจากสูตรแบบ CUBE เป็นการเชื่อมต่อกับฐานข้อมูล ดังนั้นเวลาทำงานจริง หากข้อมูลต้นทางเปลี่ยนไป จะต้องมีการกด Refresh ก่อน ผลลัพธ์จึงจะเปลี่ยน เช่นเดียวกับ Pivot Table ซึ่งเรา Refresh ได้ 2 ที่ คือ

    Refresh ที่ Data Connections

    ซึ่งสามารถ Refresh ได้ที่เครื่องมือ Data -> Refresh All ครับ

    วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 56

    อย่าลืม!! ถ้าเราไม่ Refresh ผลลัพธ์จะไม่เปลี่ยนนะ

    Refresh ที่ PivotTables

    แต่ถ้าใครไม่ชอบวิธีนี้ จะกด Refresh ที่ PivotTables ก็ได้นะ แต่ต้องทำการเก็บ Pivot ไว้อย่างน้อยอันนึงก่อนที่จะแปลงเป็น OLAP Formula นะครับ (ถ้าแปลงไปแล้ว จะกดที่กด Refresh แบบ Pivot ไม่เจอ)

    วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 57

    คราวนี้เราจะ Refresh ที่ Pivot ได้ตามปกติแล้ว

    วิธีทลายข้อจำกัดหน้าตาของ PivotTable ด้วย OLAP CUBE Formula 58

    จบแล้ว

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

  • แนวทางจัดการวันที่เน่า (ผิดไปแล้วทำไงดี)

    แนวทางจัดการวันที่เน่า (ผิดไปแล้วทำไงดี)

    อย่างที่ผมพยายามเตือนเรื่องการกรอกข้อมูลวันที่ไปแล้ว 2 ตอนด้วยกัน สมมติว่าคุณแก้ไขตามที่ผมบอกไปแล้ว แปลว่าการกรอกวันที่ในอนาคตไม่น่าจะผิดอีกแล้ว แต่ของในอดีตที่เคยผิดจนกลายเป็นวันที่แบบเน่าไปแล้วจะทำไงดีล่ะ?

    วันนี้ผมเลยทดลองกรอกวันที่มั่วๆ ลงไปในหลายๆ รูปแบบ แล้วลองเขียนสูตรดูซิว่าจะช่วยจัดการให้เข้าร่องเข้ารอยได้หรือไม่? แบบว่าอัดสูตรแบบ combo เข้าไปแบบเดียวกันดูเลยว่ามีใครรอดมั้ย?

    ดาวน์โหลดไฟล์

    ไฟล์ที่ผมลองทำ => mess-up-date2

    Screenshot การจัดการวันที่เน่า

    มีหลายขั้นตอนมาก

    หลักๆ คือ ผมก็คิดก่อนว่า ตัวเองรู้ได้ไงว่าวันที่อันไหนผิด ด้วยวิธีอะไร แล้วจะแก้ให้ถูกต้องได้ยังไง? แล้วเอาสิ่งนั้นแหละมาเขียนเป็นสูตร

    ผมก็เลยพยายามแยก ปี เดือน วัน ออกมา แล้วลอง adjust เช่น ลบ 543 หรือ สลับวันกับเดือน

    แล้วสุดท้ายเอาไปตรวจว่าอยู่ในช่วงวันที่ที่ต้องการหรือไม่? (กำหนดอยู่ข้างบน ซึ่งเป็นตัวที่ช่วยเช็คได้ดีมากๆ ตัวนึงเลย)

    ถ้าอยู่ในช่วงวันที่ที่กำหนด ก็แสดงว่า ok น่าจะถูกครับ (สุดท้ายได้คอลัมน์ R)

    แนวทางจัดการวันที่เน่า (ผิดไปแล้วทำไงดี) 59
    จัดการวันที่เน่า

    โดยสรุป

    ผมใช้หลายขั้นตอนมากๆ เพราะมีการ Error หลากหลายรูปแบบเหลือเกิน

    แต่จะมีวันที่บางอันที่ผิดแล้วไม่มีทางรู้ เช่น 3/2/2017 กับ 2/3/2017 ไม่รู้เลยว่าจริงๆ หมายถึง 3 กพ. หรือ 2 มีค. กันแน่? อันนี้คุณเองแหละที่ต้องรู้ดีที่สุดนะครับ ว่างานของคุณแต่ละอันมันน่าจะอยู่ในเดือนไหน?

    ใครลองทำตามนี้แล้วได้ผลหรือไม่ได้ผลยังไงช่วยบอกด้วย เผื่อผมจะได้ช่วยเขียนดักเพิ่มให้อีกนะครับ แต่ดีสุดคือ “กันไว้ดีกว่าแก้” นะครับ ^^