1 คะแนน โดย GN⁺ 2024-09-15 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ระหว่างที่มีการจัดการข้อมูลวิจัยด้านพันธุศาสตร์ในสเปรดชีต ฟีเจอร์ การจัดรูปแบบอัตโนมัติของ Excel ได้เปลี่ยนชื่อยีนจนทำให้เกิดข้อผิดพลาดในงานวิจัย
  • พบข้อผิดพลาดลักษณะนี้ในบทความพันธุศาสตร์ 1 ใน 5 ฉบับจากวารสารวิทยาศาสตร์ชั้นนำ สะท้อนให้เห็นถึงจุดอ่อนของกระบวนการตรวจสอบข้อมูล
  • สาเหตุหลักคือ ชื่อยีน ถูก Excel แปลงเป็นค่าวันที่หรือตัวเลขโดยอัตโนมัติ ทำให้ค่าที่ป้อนกับค่าที่บันทึกไว้ไม่ตรงกัน
  • ตัวย่อที่อาจถูกตีความเป็นวันที่ เช่น SEPT2 จะถูกเปลี่ยนเป็น 2-SEP และอาจถูกบันทึกเป็นค่าวันที่อย่าง 2 กันยายน 2016
  • หากยังต้องใช้ Excel ควรกำหนดคอลัมน์เป็นรูปแบบข้อความและตรวจสอบผลลัพธ์ด้วยตนเอง ขณะที่ Google Sheets อาจเป็นทางเลือกที่ช่วยหลีกเลี่ยงข้อผิดพลาดจากการแปลงอัตโนมัติแบบเดียวกันได้

ข้อผิดพลาดของชื่อยีนที่เกิดจากการจัดรูปแบบอัตโนมัติของ Excel

  • ฟีเจอร์ การจัดรูปแบบอัตโนมัติ ของ Microsoft Excel ได้สร้างข้อผิดพลาดในข้อมูลงานวิจัยด้านพันธุศาสตร์ และการวิเคราะห์ใหม่ยืนยันว่าบทความพันธุศาสตร์ 1 ใน 5 ฉบับจากวารสารวิทยาศาสตร์ชั้นนำมีข้อผิดพลาดประเภทนี้
  • ปัญหาเกิดขึ้นเมื่อสเปรดชีตตีความ ชื่อยีน บางรายการเป็นวันที่ในปฏิทินหรือค่าตัวเลข
  • ผู้ใช้อาจคิดว่าป้อนชื่อยีนเข้าไปแล้ว แต่ข้อมูลที่ถูกบันทึกจริงอาจกลายเป็นค่าอื่น

กรณีตัวอย่าง

  • ยีน Septin-2 มักเขียนย่อเป็น SEPT2
  • Excel สามารถเปลี่ยน SEPT2 เป็น 2-SEP และบันทึกเป็นวันที่ 2 กันยายน 2016 ได้
  • การแปลงเช่นนี้อาจบั่นทอนความน่าเชื่อถือของรายชื่อยีนหรือข้อมูลการวิเคราะห์ที่รวมอยู่ในงานวิจัย

วิธีรับมือและทางเลือก

  • หากยังจำเป็นต้องใช้ Excel ควรกำหนดคอลัมน์นั้นเป็น รูปแบบข้อความ และตรวจสอบอย่างรอบคอบว่าไม่มีการแปลงอัตโนมัติเกิดขึ้น
  • Google Sheets เก็บชื่อยีนตามที่ป้อนเข้าไป จึงอาจเป็นทางเลือกที่ช่วยหลีกเลี่ยงข้อผิดพลาดจากการแปลงอัตโนมัติประเภทเดียวกันได้
  • การวิเคราะห์ที่เกี่ยวข้องเผยแพร่ใน Genome Biology

1 ความคิดเห็น

 
GN⁺ 2024-09-15
ความคิดเห็นจาก Hacker News
  • เรื่องที่ Excel แปลงเป็นตัวเลขโดยอัตโนมัติ สำหรับสตริงที่ดูเหมือนสัญกรณ์วิทยาศาสตร์นี่น่าหงุดหงิดจริง ๆ ปิดก็ไม่ได้
    เวลาส่งออกข้อมูลขนาดใหญ่ที่มีค่าพวกโค้ดตำแหน่งเฉพาะอยู่ด้วย พอถึงจุดหนึ่งบางค่าก็ดูแปลก ๆ และไม่ใช่แค่การแสดงผลที่เปลี่ยนไป แต่เนื้อหาในเซลล์เองถูก Excel เปลี่ยนโดยไม่ถามสักคำ
    ผ่านไปหลายปีก็ยังไม่แก้ปัญหาเล็ก ๆ แต่คอยทำให้คนสะดุดซ้ำ ๆ แบบนี้ มันไม่สมเหตุสมผลเลย โดยปกติ Microsoft มักบอกว่า “เราทำเฉพาะเรื่องที่กระทบลูกค้าจำนวนมาก” แต่ถ้าปิดรายงานบั๊กทิ้งไปเรื่อย ๆ ก็จะพูดได้ทุกครั้งว่า “กระทบแค่คนเดียว” แล้วก็ปิดอีก
    ถ้าจำลองปัญหาไม่ได้ อย่างน้อยก็ควรเพิ่มการดีบักไว้สำหรับครั้งถัดไป หรือจัดการให้ถูกต้องด้วยการทิ้งเหตุผลที่ติดตามได้ไว้ เช่น “มีคนขอน้อย แต่ถ้าเปลี่ยนอาจทำให้ส่วนอื่นหรือ ความเข้ากันได้ย้อนหลัง เสียหาย”

    • ใช่ เหตุผลสุดท้ายนั่นแหละคือประเด็นสำคัญ เป็นเพราะ ความเข้ากันได้ย้อนหลังรวมถึงบั๊กด้วย
      มีมาโคร, สคริปต์ VBA และ workflow จำนวนมากที่ผู้ใช้สายไม่เทคนิคสร้างไว้ ซึ่งพึ่งพาพฤติกรรมแบบนี้อย่างละเอียดอ่อน คล้าย ๆ กับข้อบกพร่องแปลก ๆ ของ JavaScript ถ้าเปลี่ยนไป ของเก่า ๆ ที่ไหนสักแห่งก็จะพัง
      Microsoft อาจพูดตรงกว่านี้ได้ แต่แน่นอนว่าคงอยากหลีกเลี่ยงการถกเถียงแบบนั้น
    • มีเหตุผลอะไรที่ไม่กำหนด รูปแบบข้อมูล ตอนนำเข้าไหม? ถ้าเป็นรูปแบบไฟล์ข้อมูลที่ใช้บ่อย ก็อาจใช้ VBA ทำการนำเข้าอัตโนมัติพร้อมกำหนดรูปแบบข้อมูลที่ถูกต้องได้
    • ปัญหาที่สตริงซึ่งดูเหมือนสัญกรณ์วิทยาศาสตร์ถูกแปลงเป็นตัวเลขโดยอัตโนมัตินี่เจอสัปดาห์ละหนึ่งหรือสองครั้ง จะบ้าตาย
    • LibreOffice ก็ฟรีอยู่แล้ว ไม่รู้ว่าทำไมยังใช้ MS Office กันอยู่
  • กระทู้ยอดนิยมก่อนหน้านี้เมื่อเดือนสิงหาคม 2020: https://news.ycombinator.com/item?id=24070385
    เป็นเรื่อง “นักวิทยาศาสตร์เปลี่ยนชื่อยีนมนุษย์เพื่อไม่ให้ MS Excel อ่านชื่อยีนผิดเป็นวันที่”
    รายละเอียดที่เกี่ยวข้องคือในปี 2023 Microsoft ออกอัปเดตสำหรับ Excel เพื่อป้องกันปัญหาการแปลงสัญลักษณ์ยีนเป็นวันที่ และยังมี Gene Updater ที่แก้ไขและอัปเดตชื่อยีนที่ Excel ระบุผิดโดยอัตโนมัติด้วย
    https://www.pcmag.com/news/microsoft-finally-fixes-excel-gli...
    https://www.ncbi.nlm.nih.gov/pmc/articles/PMC9325790/

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

    • ถ้าเคยทำงานในวงการนี้ จะเห็นว่าปัญหาส่วนใหญ่เกิดจากผู้จัดพิมพ์กำหนดให้ส่งชุดข้อมูลขนาดเล็กใน รูปแบบ xls ตอนยื่นบทความ
      ดังนั้นใครสักคนในห่วงโซ่ ไม่ว่าจะเป็นผู้เขียนผู้รับผิดชอบการติดต่อ บรรณาธิการ หรือเจ้าหน้าที่วารสาร ก็เปิดไฟล์ด้วย Excel แล้วบันทึกใหม่ นักชีวสารสนเทศไม่ได้ใช้ Excel วิเคราะห์กันหรอก
    • ใช่ เครื่องมือไม่ได้ถูกสร้างมาเพื่อผู้ใช้ แต่สร้างมาเพื่อ ผู้สร้างเครื่องมือ ต่างหาก ที่เหลือต้องปรับตัวกันเอง
  • เหตุผลหนึ่งที่เลิกใช้สเปรดชีตในการสอน คือมันยังคงสืบทอด บั๊กเรื่องลำดับความสำคัญของการคำนวณทางเลขคณิต มาตลอด โดย “บั๊ก” ในที่นี้หมายถึงการขัดแย้งกับธรรมเนียมทางคณิตศาสตร์ที่ใช้กันมานาน
    ถ้าใส่ -3^2 ลงในเซลล์แล้วกด Enter สเปรดชีตจะบอกว่าเป็น 9 แต่ในคณิตศาสตร์ การยกกำลังมีลำดับความสำคัญสูงกว่าเครื่องหมายลบเอกภาค ดังนั้นควรเป็น -9 ตัวอย่างเช่น ถ้าสั่งให้นักเรียนวาดกราฟ y = -x^2 ก็ต้องวาดพาราโบลาที่เปิดลง
    Excel รุ่นล่าสุดตรวจสอบไม่ได้ แต่ใน Excel 97 เป็นแบบนั้น และ LibreOffice Calc ปัจจุบันก็คืนค่า 9 เช่นกัน คาดว่าสเปรดชีตยุคแรกตัวหนึ่งคงใช้ลำดับความสำคัญผิด แล้วหลังจากนั้นทุกตัวก็ทำตามเพื่อความเข้ากันได้
    ในทางกลับกัน maxima และ Python ต่างให้ค่า -9 ทั้งคู่ สงสัยเหมือนกันว่าคนที่คัดลอกสูตรจากหนังสือคณิตศาสตร์ไปใส่สเปรดชีตจะเจอปัญหานี้ด้วยไหม

    • ปัญหานี้ดูเหมือนเป็นผลพลอยได้ของตัวดำเนินการทวิภาค ^ ที่ถูกประดิษฐ์ขึ้น ในคณิตศาสตร์ เลขชี้กำลังเป็นตัวยก จึงไม่ใช่ตัวดำเนินการทวิภาค แต่เป็นส่วนหนึ่งของพจน์
      ในข้อความคอมพิวเตอร์ มีการสร้างตัวดำเนินการทวิภาคขึ้นมาเพื่อแทนสิ่งที่แสดงโดยตรงไม่ได้ โดยคาเร็ตเป็นแบบที่พบได้ทั่วไปและเกิดขึ้นก่อนที่สุด แต่ ** ก็เป็นอีกตัวอย่างหนึ่ง
      ตามธรรมเนียม เครื่องหมายลบเอกภาคมักถูกมองว่าเป็นส่วนหนึ่งของพจน์ จึงมีลำดับความสำคัญสูงกว่าตัวดำเนินการทวิภาค แต่เมื่อเปลี่ยนเลขชี้กำลังให้เป็นตัวดำเนินการ แล้วยังคงใช้ตรรกะนั้นต่อ ปัญหาก็ยุ่งขึ้น
      ในการหารก็เห็นปัญหาคล้ายกัน / เป็นตัวดำเนินการทวิภาคที่สร้างขึ้นในสภาพแวดล้อมที่ไม่มีเครื่องหมายหารจริง ๆ และเดิมทีควรแทนเส้นแนวนอนของเศษส่วน เส้นเศษส่วนมีหน้าที่ครอบนิพจน์ทั้งสองฝั่งไว้ทั้งหมด แต่เมื่อแทนอย่างง่ายด้วย / ก็อาจได้รับผลจากกฎลำดับความสำคัญและให้ผลลัพธ์ที่ผิดได้
    • ใน C, -a*b จะถูก parse เป็น (-a)*b แต่ c-a*b จะถูก parse เป็น c-(a*b) เครื่องหมายลบเอกภาค มีลำดับความสำคัญสูงกว่าตัวดำเนินการทวิภาค
      โดยปกติเรามักย้ายเครื่องหมายได้จึงไม่ทันสังเกต แต่ในกรณีขอบที่เกี่ยวกับพฤติกรรมที่ไม่ได้กำหนดไว้ จะเกิดปัญหา
      0 - INT_MIN/2 ถูก parse เป็น 0 - (INT_MIN / 2) จึงไม่เป็นไร แต่ -INT_MIN/2 ถูก parse เป็น (-INT_MIN) / 2 จึงไม่โอเค ด้วยคุณสมบัติของการแทนค่าแบบ two's complement ค่า INT_MIN อาจไม่มีอินเวอร์สภายใต้การบวก
    • ฟังดูเหมือนเป็นการ จับผิดหยุมหยิม เกินไปที่จะใช้เป็นเหตุผลว่าไม่ใช้โปรแกรม
      รู้ว่าปัญหานี้มีธรรมเนียมอยู่สองแบบ ดังนั้นถ้าต้องการพฤติกรรมแบบไหนก็แค่ใส่วงเล็บ
      สมัยเรียนคณิตศาสตร์ผมก็ทำได้ดี แต่ไม่เคยรู้ว่ามีคนคิดว่า -3^2 ควรเป็น -9 และมองว่าเป็นแค่คุณสมบัติแปลก ๆ ของเครื่องคิดเลขหรือโปรแกรมบางตัวเท่านั้น ยังสงสัยด้วยว่านิพจน์นี้อ่านออกเสียงอย่างไร ถ้าคิดว่า “ลบสามยกกำลังสอง” (-3)^2 ก็ดูเป็นธรรมชาติ และถ้าจะให้เป็น -9 ก็ต้องอ่านว่า “ค่าลบของสามยกกำลังสอง”
      ตอนมัธยมเคยถูกสอนให้ป้อนนิพจน์แบบนี้ลงเครื่องคิดเลขเพื่อดูผลลัพธ์ที่ต่างจากที่คาดไว้ หลังจากนั้นก็แค่คิดว่า “งั้นต้องใส่วงเล็บสินะ” เท่านั้น ไม่ถึงขั้นทิ้งเครื่องคิดเลขหรือบอกคนอื่นว่าอย่าใช้ เพียงเพราะชอบธรรมเนียมลำดับความสำคัญที่ต่างกันเล็กน้อย
    • ในบอร์ดของ Nim ก็เคยคุยเรื่องคล้ายกัน Nim ให้ -2^2=4 แต่ 0-2^2=-4 เพราะกรณีแรกมองว่า - เอกภาคมีลำดับความสำคัญสูงกว่าการยกกำลัง
      จะอ้างว่าถูกต้องในเชิงเทคนิคก็ได้ แต่สำหรับคนที่มีพื้นฐานวิศวกรรมหรือวิทยาศาสตร์ทั่วไปและอยากทำงานธรรมดา ๆ มัน ขัดกับสัญชาตญาณ มาก ผมคิดว่าสิ่งนี้อาจทำให้หลายคนเลิกใช้ Nim ได้
    • ใน Excel ตัวดำเนินการยกกำลังเป็นเพียงรูปย่อของฟังก์ชัน POWER เท่านั้น จากมุมมองนั้น แม้ในเชิงคณิตศาสตร์อาจผิด แต่ก็ถือว่าถูกต้องตามพฤติกรรมของ Excel
  • ปัญหาของ Excel คือพยายามทำแทบทุกอย่างด้วยเครื่องมือซอฟต์แวร์เพียงตัวเดียว: ตั้งแต่การแก้ไขและการนำเสนอส่วนหน้า การวิเคราะห์ การสร้างแบบจำลองเชิงความหมาย ไปจนถึงที่เก็บข้อมูลและฐานข้อมูล
    วิศวกรที่มีเหตุผลส่วนใหญ่จะมองว่าวิธีนี้มีอะไรบางอย่างผิดปกติ แต่ผู้ใช้คอมพิวเตอร์ทั่วไปส่วนใหญ่กลับคิดว่าการคอมพิวติ้งควรเป็นแบบนั้นอยู่แล้ว
    บางครั้งผมก็สงสัยว่าทำไมตัวเองถึงสมัครใจเปิด Excel เพื่อทำงานบางอย่าง แต่ถึงจะถูกวิจารณ์อย่างไร Excel ก็ข้ามเกณฑ์ของ Lindy effect สำหรับผมไปแล้ว และจะยังคงอยู่ต่อไป
    https://en.wikipedia.org/wiki/Lindy_effect

    • ต้นทุนการพัฒนา ในการสร้างทางออกที่ “ดีกว่าเล็กน้อย” เมื่อเทียบกับสเปรดชีต Excel ที่ซับซ้อน มักสูงมหาศาล
      สตาร์ทอัพเทคโนโลยีจำนวนมากคือ “การแทนที่สิ่งที่ผู้คนเคยทำด้วย Excel ด้วยเครื่องมือเฉพาะทาง”
    • ปัญหาของผมกับ Excel คือผมชอบมันมากเกินไป ทั้งที่รู้ว่าไม่ควรเป็นแบบนั้น
      เพราะมันแตะจุดที่สมบูรณ์แบบระหว่างข้อมูลมีโครงสร้างกับไม่มีโครงสร้าง จึงเหมาะมากที่จะเติมเซลล์แล้วดูว่าเกิดอะไรขึ้น
      เหตุผลที่บอกว่า “ไม่ควรทำแบบนั้น” คือเส้นทางออกจากโซลูชันที่ใช้งานได้ดี ไปสู่แนวทางที่เป็น codebase ซึ่งถูกทำให้เป็นผลิตภัณฑ์อย่างเหมาะสม อาจเจ็บปวดมาก
    • Excel สามารถส่งอีเมลด้วยสคริปต์ VBA ได้ด้วย ดังนั้นจึงเข้าข่าย กฎของ Zawinski
      http://www.catb.org/jargon/html/Z/Zawinskis-Law.html
    • อย่างไรก็ตาม มันเป็นซอฟต์แวร์กรรมสิทธิ์ สักวันหนึ่งการบำรุงรักษาจะหยุดลงและมันจะเลิกทำงาน แต่สเปรดชีตโดยทั่วไปอยู่ในขอบเขตของ Lindy effect และ ซอฟต์แวร์โอเพนซอร์ส จะสืบทอดต่อไปอีกหลายศตวรรษ
  • ในภาษาเยอรมันมีสำนวนว่า “ช่างที่แย่มักโทษเครื่องมือเสมอ”
    Excel มีจุดประหลาดอยู่มาก แต่ก็ยังรู้สึกขอบคุณที่มันมีอยู่ เพราะช่วยรวบรวมตัวเลขได้อย่างรวดเร็วและยังให้แก้ค่าอินพุตของสูตรได้

    • ขณะเดียวกัน ในการออกแบบประสบการณ์ผู้ใช้ก็มีคำกล่าวว่า อย่าโทษผู้ใช้
      อย่างน้อยในช่วงที่บทความนั้นออก ยังไม่มีวิธีปิดฟังก์ชันที่แปลงสตริงเฉพาะอย่าง SEPT2 เป็นวันที่โดยอัตโนมัติ แค่มีการตั้งค่าให้ปิดสิ่งนี้ได้ ก็น่าจะป้องกันข้อผิดพลาดจำนวนมากที่นักวิจัยซึ่งทำงานดึกหรือถูกเดดไลน์กดดันเป็นคนทำให้ลุกลามได้
      แน่นอนว่ามีจุดที่ผู้ใช้เครื่องมือต้องพยายามเรียนรู้วิธีใช้งานที่ดีที่สุด แต่ฝั่งนักพัฒนาก็สามารถลงแรงเพื่อป้องกันข้อผิดพลาดที่พบบ่อยและประหยัดเวลาผู้ใช้ได้อย่างมากเช่นกัน
    • ช่างที่ไม่ชำนาญย่อมโทษเครื่องมือ แต่ก็ไม่มีใครเขียนคัมภีร์ไบเบิลลงบนแสตมป์ด้วยแครอตได้
    • สำนวนนี้มีนัยที่มักถูกมองข้ามอยู่ หมายถึงอย่าโทษ “เครื่องมือของตัวเอง”
      ไม่ใช่เครื่องมือทุกอย่าง ไม่ใช่เครื่องมือที่ถูกบังคับให้ใช้เพราะมาตรฐานอุตสาหกรรมหรือธรรมเนียมเก่า ๆ และไม่ใช่กรณีที่เป็นเครื่องมือโง่ ๆ ซึ่งปกติคงไม่มีวันใช้ แต่ไม่มีทางเลือก
      Excel ไม่ได้เป็นผู้คิดค้นสเปรดชีตขึ้นมาเสียหน่อย ต่อให้ไม่มี Excel ตอนนั้นก็คงใช้โปรแกรมทายาทอะไรสักอย่างของ WhateverCalc อยู่ดี และ Excel ก็แค่เติมสิ่งไม่จำเป็นเข้าไปในนั้นเท่านั้น
    • สิ่งที่ควรขอบคุณตรงนี้ไม่ใช่ Excel แต่เป็นการมีอยู่ของ แอปพลิเคชันสเปรดชีต มากกว่า
      https://simple.wikipedia.org/wiki/Spreadsheet
    • ในภาษาโปแลนด์มีสำนวนว่า “นักบัลเลต์ที่ไม่ชำนาญถูกชายกระโปรงขัดขวาง”
  • ทำไมถึงปิด การตรวจจับวันที่อัตโนมัติ ไม่ได้เสียที? แค่ใส่เช็กบ็อกซ์ไว้ในการตั้งค่า ให้ผู้ใช้อย่างฉันบอก Excel ได้ว่าอย่าทำเรื่องไร้สาระแบบนั้นก็พอ
    มีใครสามารถโต้แย้งแบบไร้ช่องโหว่ได้ไหมว่าทำไมต้องเปิดสิ่งนี้ไว้ตลอด?

    • ถ้าใส่เช็กบ็อกซ์ไว้ลึก ๆ ในการตั้งค่า ก็จะเพิ่มเส้นทางที่ทำให้เกิดความผิดพลาดได้มากขึ้น
      ค่าเริ่มต้นคืออะไร? ค่าเริ่มต้นต่างกันไปตามแต่ละเวอร์ชันหรือไม่? จะรักษาความสอดคล้องได้อย่างไรเมื่อคอมพิวเตอร์และสภาพแวดล้อมการติดตั้งต่างกัน? ถ้าจู่ ๆ ต้องใช้ฟังก์ชันนั้นจริง ๆ จะทำอย่างไร?
      นึกถึงการส่งออก CSV ขึ้นมาเลย ผมไม่ได้ใช้ Windows มา 10 ปีแล้ว แต่จำได้ว่าถ้าจะเปลี่ยนวิธีส่งออกตัวเลขทศนิยม ต้องเปลี่ยน locale แล้วรีบูตคอมพิวเตอร์ การต้องทำแบบนั้นเพียงเพื่อเปลี่ยนการตั้งค่า Excel อันเดียวมันบ้ามาก การโปรยแพตช์เช็กบ็อกซ์ไปทั่วก็ไม่ได้ต่างจากเรื่องนี้มากนัก
    • นอกจากวิธีตั้งค่าทุกเซลล์ให้เป็นข้อความแล้ว ตอนนี้ยังมี เช็กบ็อกซ์ สำหรับปัญหานี้เพิ่มเข้ามาแล้ว
      https://insider.microsoft365.com/en-us/blog/control-data-con...
  • เมื่อ 2 สัปดาห์ก่อนเจอเรื่องคล้ายกันที่ทำงาน ผมดึงไฟล์ล็อกมา แล้วเขียนสคริปต์ awk เพื่อแปลงไทม์สแตมป์ HH:MM:SS.uuuuuu ให้เป็นจำนวนนาโนวินาทีนับจาก epoch เพื่อให้เครื่องมืออื่นกินต่อได้
    แต่ไม่รู้ว่า awk ใช้ floating point ภายในสำหรับตัวเลข และฟังก์ชันแปลงก็ปัดเศษผลลัพธ์ผิด ทำให้การวิเคราะห์หลังจากนั้นพังในแบบที่ไล่หาสาเหตุได้ยาก
    แย่ไปกว่านั้น ตอนเปิดดูข้อมูลใน Visidata ก็เกิดปัญหาเดียวกันอีกครั้ง แต่มีวิธีเลี่ยงง่าย ๆ อยู่ ซึ่งจำรายละเอียดไม่ได้แล้ว

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

    • ความหงุดหงิดที่มีต่อ Excel ในที่ทำงานไม่ได้อยู่ที่ตัว Excel เองเท่าไร แต่อยู่ที่คนทำสูตรพัง ลบสูตร ไม่เข้าใจสูตร หรือไปแตะต้องเพื่อ “ปรับปรุง” แล้วผลลัพธ์สุดท้ายกลายเป็นขยะ
      อย่างไรก็ตาม ส่วนใหญ่ก็มักเป็นเพราะผมใช้ ฟีเจอร์ป้องกันและล็อก ได้ไม่ดีพอ และก็รู้ด้วยว่าบันทึกคำอธิบายมักถูกมองข้าม
      ดังนั้นในไฟล์ที่แชร์ ผมจึงแทบจะเก็บไฟล์สำรองเริ่มต้นแบบว่างไว้อีกไฟล์หนึ่งเสมอ แล้วแยกไฟล์สำหรับใช้งานจริงไว้ต่างหาก เพื่อบรรเทาปัญหาลงบ้าง
  • บทความปี 2016 ในหัวข้อเดียวกัน “Gene name errors are widespread in the scientific literature” ก็น่าสนใจเช่นกัน
    https://genomebiology.biomedcentral.com/articles/10.1186/s13...
    ตามบทความ ปัญหาที่ซอฟต์แวร์ Excel แปลงสัญลักษณ์ยีนเป็นวันที่และตัวเลข floating point โดยไม่ตั้งใจ ถูกอธิบายครั้งแรกในปี 2004 ตัวอย่างเช่น สัญลักษณ์ยีน อย่าง SEPT2 และ MARCH1 จะถูกแปลงตามค่าเริ่มต้นเป็น 2-Sep และ 1-Mar ตามลำดับ