วิธีติดตามธุรกรรมกระเป๋าเงินคริปโตในสเปรดชีต (คู่มือปี 2026)

การติดตามธุรกรรมของวอลเล็ตในสเปรดชีตมี 4 ขั้นตอนด้วยกัน ได้แก่ ส่งออกหนึ่งไฟล์ต่อหนึ่งที่อยู่ต่อหนึ่งเชน จากนั้นปรับขนาดจำนวนโทเคนแต่ละรายการตามทศนิยม (decimals) แยกค่าธรรมเนียมเครือข่ายออกจากมูลค่าที่โอน และลบรายการโอนที่คุณทำระหว่างวอลเล็ตของตัวเองออก หากข้ามขั้นตอนใดขั้นตอนหนึ่งไป ยอดรวมทั้งหมดจะผิดพลาดทันที
การส่งออกข้อมูลนั้นไม่ใช่เรื่องยาก แต่สิ่งที่ทำให้สเปรดชีตพังคือตัวไฟล์เอง ข้อมูลที่ส่งออกจาก block explorer คือบัญชีแยกประเภทของเหตุการณ์บนบล็อกเชน ไม่ใช่ใบแจ้งยอดที่จัดระเบียบมาอย่างเรียบร้อยว่าคุณส่งและรับอะไรไปบ้าง
คู่มือนี้จะครอบคลุมถึงสิ่งที่คุณต้องรวบรวม วิธีสร้างสเปรดชีตด้วยตัวเอง และจุดที่วิธีนี้เริ่มไม่คุ้มค่าเหนื่อยอีกต่อไป นี่คือกระบวนการทำงานของข้อมูล และไม่ใช่คำแนะนำในการลงทุนหรือภาษีแต่อย่างใด
สิ่งที่คุณต้องเตรียมก่อนเริ่มใช้งาน
คุณต้องมีรายการที่อยู่ทั้งหมดที่คุณควบคุม และต้องรู้ว่าแต่ละที่อยู่ถูกใช้งานบนเชนใดบ้าง หากที่อยู่ตกหล่นไปจะไม่แสดงข้อผิดพลาดใดๆ แต่จะทำให้ข้อมูลภาพรวมของคุณไม่ครบถ้วนโดยที่คุณไม่รู้ตัว
นอกจากนี้ คุณต้องตัดสินใจเลือกหน่วยทางบัญชี (unit of account) ก่อนเริ่มใช้งาน การปะปนจำนวนเหรียญดั้งเดิม (native amounts) และมูลค่าที่แปลงแล้วในคอลัมน์เดียวกันคือข้อผิดพลาดที่พบบ่อยที่สุดซึ่งจะทำให้สเปรดชีตพัง
มี 3 สิ่งที่คุณควรตกลงให้เรียบร้อยก่อนเป็นอันดับแรก
หนึ่งไฟล์ต่อหนึ่งที่อยู่ต่อหนึ่งเชน การส่งออกข้อมูลจาก block explorer จะถูกกำหนดขอบเขตไว้เช่นนั้น หากมี 2 ที่อยู่บน 2 เชน ก็จะเท่ากับ 4 ไฟล์ และแต่ละไฟล์จำเป็นต้องมีคอลัมน์ป้ายกำกับ (label) ก่อนที่จะนำมารวมกัน
ประเภทเหตุการณ์ที่คุณต้องการ ธุรกรรมปกติ (normal transactions) ธุรกรรมภายใน (internal transactions) และการโอนโทเคน (token transfers) มักจะแยกไฟล์ส่งออกกัน หากดึงข้อมูลเฉพาะประเภทแรก คุณจะพลาดกิจกรรมส่วนใหญ่ของโทเคนไป
เขตเวลาของคุณ การบันทึกเวลา (timestamps) จะถูกบันทึกเป็น UTC ให้แปลงเวลาเพียงครั้งเดียวตอนนำเข้าข้อมูล และบันทึกไว้ว่าสเปรดชีตนี้ใช้เขตเวลาใด
วิธีจัดการด้วยตัวเอง
ทางเลือกที่ 1: ส่งออก ใส่ป้ายกำกับ แล้วนำมาซ้อนกัน
ดึงข้อมูลที่ส่งออกแต่ละไฟล์แล้วเพิ่ม 2 คอลัมน์ทันที ได้แก่ ที่อยู่ที่เป็นเจ้าของ และเชนที่เป็นที่มาของข้อมูล ทำเช่นนี้ก่อนที่จะนำข้อมูลมารวมกัน เพราะเมื่อนำมาซ้อนกันแล้ว คุณจะไม่สามารถแยกแยะคอลัมน์เหล่านี้ได้อีกเลย
เก็บแฮชธุรกรรม (transaction hash) ไว้ เพราะนี่เป็นคีย์เดียวที่เชื่อถือได้ในการตรวจจับเหตุการณ์เดียวกันที่ปรากฏซ้ำสองครั้ง และการสร้างสเปรดชีตใหม่โดยไม่มีแฮชนี้หมายความว่าคุณต้องเริ่มทำใหม่ทั้งหมดตั้งแต่ต้น
ขั้นตอนนี้ทำได้รวดเร็วและเป็นจุดที่ความมีระเบียบวินัยจะส่งผลดีอย่างมาก เพราะขั้นตอนถัดไปทั้งหมดขึ้นอยู่กับการรู้ว่าข้อมูลแต่ละแถวมาจากที่ใด
ทางเลือกที่ 2: ปรับค่าจำนวนเงินให้เป็นมาตรฐานและแยกค่าธรรมเนียมออก
จำนวนโทเคนจะถูกจัดเก็บไว้บนเชนเป็นจำนวนเต็ม และต้องได้รับการปรับขนาดตามค่าทศนิยม (decimals) ของโทเคนนั้นๆ มาตรฐานโทเคน ERC-20 token standard อธิบายฟิลด์นี้ไว้ ทศนิยม 18 ตำแหน่งเป็นค่าที่พบบ่อยแต่ไม่ใช่ค่าสากล ดังนั้นการปรับขนาดทุกอย่างด้วย 18 จะทำให้ยอดคงเหลือบางส่วนเพิ่มขึ้นเป็นล้านล้านเท่าโดยที่คุณไม่รู้ตัว
ค่าธรรมเนียมเครือข่ายจำเป็นต้องมีคอลัมน์ของตัวเอง บน Ethereum ค่า gas จะถูกจ่ายด้วยสกุลเงินดั้งเดิม (native currency) และแยกต่างหากจากมูลค่าใดๆ ที่ธุรกรรมนั้นโอนย้าย การนำค่าธรรมเนียมไปรวมกับจำนวนเงินที่โอนจะทำให้ข้อมูลทั้งสองส่วนคลาดเคลื่อน
ทิศทางของธุรกรรมเป็นสิ่งที่คุณต้องคำนวณหาเอง ไม่ได้มีระบุไว้ให้โดยตรง ให้เปรียบเทียบฟิลด์ from (จาก) และ to (ถึง) กับรายการที่อยู่ของคุณเอง แล้วเขียนคำว่า In (เข้า), Out (ออก) หรือ Internal (ภายใน) ลงในคอลัมน์ที่คุณสร้างขึ้นเอง
ทางเลือกที่ 3: จัดการกับ 4 กรณีที่มักทำให้สเปรดชีตพัง
มี 4 สถานการณ์ที่เป็นสาเหตุหลักของยอดรวมที่ผิดพลาด และแต่ละสถานการณ์จำเป็นต้องมีกฎเกณฑ์ที่กำหนดขึ้นมาโดยเฉพาะ
ธุรกรรมภายใน (Internal transactions) มูลค่าที่ถูกโอนย้ายโดยสัญญาอัจฉริยะ (contract) แทนที่จะเป็นธุรกรรมระดับบนสุด (top-level transaction) ข้อมูลเหล่านี้จะอยู่ในไฟล์ส่งออกที่แยกต่างหาก และจะมองไม่เห็นเลยหากคุณไม่เคยดึงข้อมูลนั้นออกมา
ธุรกรรมที่ล้มเหลว (Failed transactions) ธุรกรรมที่ถูกยกเลิก (reverted) ยังคงเสียค่าแก๊สอยู่ การโอนไม่ได้เกิดขึ้นจริงแต่มีค่าธรรมเนียมเกิดขึ้น ให้กรองรายการเหล่านี้ออกจากยอดรวมการโอน แต่คงไว้ในยอดรวมค่าธรรมเนียม
หนึ่งแฮช หลายแถว การสวอป (swap) เพียงครั้งเดียวสามารถสร้างแถวโทเคนขาออก แถวโทเคนขาเข้า และค่าธรรมเนียมได้ ให้จัดกลุ่มตามแฮชก่อนที่จะนับจำนวนใดๆ มิฉะนั้นเหตุการณ์เดียวกันจะถูกนับซ้ำถึง 3 ครั้ง คู่มือของเราเกี่ยวกับ การทำความสะอาดและกำจัดข้อมูลซ้ำซ้อน จะอธิบายถึงกลไกการทำงานนี้ไว้
การโอนระหว่างวอลเล็ตของตัวเอง รายการเหล่านี้เป็นเพียงการเคลื่อนย้ายเงิน ไม่ใช่กิจกรรมการทำธุรกรรม ให้จับคู่รายการเหล่านี้ด้วยแฮชจากไฟล์ต่างๆ ที่คุณใส่ป้ายกำกับไว้แล้วคัดออก มิฉะนั้นตัวเลขปริมาณธุรกรรม (volume) ของคุณจะสูงกว่าความเป็นจริงประมาณ 2 เท่า
ข้อจำกัดร่วมกัน (The shared ceiling) ทั้ง 3 ขั้นตอนข้างต้นตั้งอยู่บนสมมติฐานที่ว่าคุณมีชุดที่อยู่ที่คงที่ หากคุณเพิ่มวอลเล็ตใหม่ หรือเริ่มใช้เชนใหม่ ชุดข้อมูลที่ส่งออกจะเปลี่ยนไป และคุณจะต้องรันกระบวนการปรับค่าให้เป็นมาตรฐาน (normalisation) ใหม่ทั้งหมดอีกครั้ง
จุดที่วิธีจัดการด้วยตัวเองเริ่มล่าช้าและเป็นอุปสรรค
การสร้างสเปรดชีตครั้งแรกอาจใช้เวลาเพียงช่วงบ่ายวันเดียวและใช้งานได้จริง แต่ปัญหาคือมันไม่ใช่การทำเพียงครั้งเดียวแล้วจบ
ทุกๆ เดือนหมายถึงการส่งออกข้อมูลใหม่ และการส่งออกข้อมูลใหม่แต่ละครั้งหมายถึงการต้องมานั่งปรับทศนิยม แยกค่าธรรมเนียม และใช้กฎการโอนเงินหาตัวเองซ้ำแล้วซ้ำเล่า ตรรกะเหล่านี้ไม่ได้อยู่ในตัวข้อมูล ดังนั้นมันจึงอยู่ในความทรงจำของคุณ หรืออยู่ในแท็บสเปรดชีตที่ไม่มีใครเข้าใจนอกจากคุณ
ขอบเขตงานที่ขยายตัวขึ้นเรื่อยๆ ยิ่งทำให้สถานการณ์แย่ลง การจัดการ 2 ที่อยู่นั้นยังพอไหว แต่หากมี 6 ที่อยู่บน 3 เชน จะกลายเป็น 18 ไฟล์ เมื่อถึงจุดนั้น ผู้คนมักจะแอบเลิกอัปเดตสเปรดชีตไปเงียบๆ แล้วหันไปเดาตัวเลขจากหน้าอินเตอร์เฟสของวอลเล็ตแทน
นอกจากนี้ยังมีต้นทุนในการตรวจสอบความถูกต้องของข้อมูล (reconciliation) อีกด้วย เมื่อข้อมูลในสเปรดชีตและหน้าอินเตอร์เฟสของวอลเล็ตไม่ตรงกัน จะต้องมีใครสักคนมานั่งหาว่าข้อมูลส่วนไหนผิด ซึ่งการตรวจสอบนี้มีต้นทุนที่สูงกว่าการสร้างสเปรดชีตในตอนแรกเสียอีก
หน้าอินเตอร์เฟสของวอลเล็ตไม่สามารถทดแทนสเปรดชีตได้ เพราะมันแสดงเฉพาะยอดคงเหลือปัจจุบัน ไม่ได้แสดงสิ่งที่เกิดขึ้น และจะไม่บอกคุณว่าคุณจ่ายค่าธรรมเนียมไปเท่าไหร่ในไตรมาสที่แล้ว
วิธีติดตามธุรกรรมวอลเล็ตคริปโตด้วย Powerdrill Bloom
ขั้นตอนที่ 1: อัปโหลดไฟล์ที่ส่งออกของคุณ
อัปโหลดไฟล์ที่ส่งออกทั้งหมดพร้อมกันแทนที่จะอัปโหลดทีละไฟล์ Powerdrill Bloom จะวิเคราะห์โครงสร้างข้อมูล (profile) ของแต่ละไฟล์ ดังนั้นคุณจะเห็นชื่อคอลัมน์ที่แตกต่างกัน รูปแบบวันที่ที่ปะปนกัน และความแม่นยำของจำนวนเงินที่ไม่สอดคล้องกัน ก่อนที่จะนำข้อมูลมารวมกัน
ขั้นตอนที่ 2: อธิบายการปรับค่าให้เป็นมาตรฐานด้วยภาษาธรรมชาติ
กำหนดกฎเกณฑ์ด้วยคำพูดแทนที่จะต้องสร้างสูตรขึ้นมาเอง โดยสั่งให้ปรับขนาดจำนวนเงินตามทศนิยมของแต่ละโทเคน แยกค่าธรรมเนียมออกจากมูลค่าที่โอน และคัดธุรกรรมที่ล้มเหลวออกจากยอดรวมการโอน
จากนั้นถามคำถามเกี่ยวกับการกำจัดข้อมูลซ้ำซ้อนโดยตรง เช่น ถามว่าแถวใดบ้างที่ใช้แฮชธุรกรรมร่วมกัน และการโอนใดบ้างที่เป็นการเคลื่อนย้ายมูลค่าระหว่างที่อยู่ต่างๆ ในรายการของคุณเอง
ขั้นตอนที่ 3: ส่งออกแผนภูมิ รายงาน หรือสไลด์นำเสนอ
ดึงข้อมูลตารางกิจกรรมที่ปรับค่าเป็นมาตรฐานแล้ว แผนภูมิค่าธรรมเนียมตามช่วงเวลา หรือสรุปสั้นๆ เป็นลายลักษณ์อักษรว่ามีอะไรเคลื่อนย้ายบ้างและเกิดขึ้นเมื่อใด
ทำไมวิธีนี้ถึงดีกว่าการสร้างสเปรดชีตใหม่ทุกเดือน
| วิธีจัดการด้วยตัวเอง | Powerdrill Bloom | |
|---|---|---|
| ทศนิยมของโทเคน | ต้องค้นหาและปรับขนาดทีละโทเคน | สั่งให้ปรับขนาดจำนวนเงินตามทศนิยมได้ทันที |
| ค่าธรรมเนียมเทียบกับมูลค่าที่โอน | ต้องแยกคอลัมน์ในแต่ละไฟล์ส่งออก | กำหนดกฎเกณฑ์เพียงครั้งเดียว |
| การโอนหาตัวเอง | ต้องจับคู่แฮชด้วยตัวเอง | ถามได้ทันทีว่าแถวใดบ้างที่มีการโอนระหว่างที่อยู่ของคุณเอง |
| ที่อยู่หรือเชนใหม่ | ต้องทำกระบวนการปรับค่าเป็นมาตรฐานใหม่ทั้งหมด | เพียงแค่เพิ่มไฟล์เข้าไปในการอัปโหลด |
แถวสุดท้ายคือตัวตัดสินว่าสเปรดชีตนี้จะอยู่รอดหรือไม่ กระบวนการทำงานที่พังทันทีเมื่อคุณเพิ่มวอลเล็ตใหม่จะถูกละทิ้งไปภายใน 2 ไตรมาสอย่างแน่นอน
ข้อผิดพลาดที่พบบ่อย
การนำค่าแก๊สไปรวมกับจำนวนเงินที่โอน ค่าธรรมเนียมและมูลค่าที่โอนย้ายเป็นคนละสิ่งกัน การนำมารวมกันจะทำให้ยอดเงินขาออกสูงเกินจริง และทำให้ไม่สามารถวิเคราะห์ค่าธรรมเนียมในภายหลังได้
การทึกทักเอาเองว่าทุกโทเคนมีทศนิยม 18 ตำแหน่ง โทเคนยอดนิยมหลายตัวใช้ทศนิยม 6 ตำแหน่ง การใช้ตัวคูณปรับขนาดเพียงค่าเดียวกับทั้งสเปรดชีตจะทำให้ยอดคงเหลือผิดพลาดไปหลายเท่าตัว
การลบธุรกรรมที่ล้มเหลวออกไปทั้งหมด ธุรกรรมเหล่านี้ควรถูกนำออกจากยอดรวมการโอน แต่ต้องคงไว้ในยอดรวมค่าธรรมเนียม การลบแถวเหล่านี้ออกไปจะทำให้คุณมองไม่เห็นค่าใช้จ่ายที่เกิดขึ้นจริง
การนับธุรกรรมภายในซ้ำสองครั้ง ข้อมูลเหล่านี้จะมาในไฟล์ส่งออกที่แยกต่างหาก และอาจซ้ำซ้อนกับข้อมูลที่คุณดึงมาแล้ว ให้จัดกลุ่มตามแฮชก่อนทำการรวมยอด
การลืมที่อยู่บางรายการ ยอดรวมจะดูสมเหตุสมผลแต่ไม่ครบถ้วน ให้เก็บรายการที่อยู่ไว้ในเวิร์กบุ๊กเลย ไม่ใช่เก็บไว้แค่ในหัวของคุณ
การใช้สเปรดชีตเพื่อประเมินมูลค่าพอร์ต บันทึกธุรกรรมวอลเล็ตจะอธิบายถึงการเคลื่อนไหวของเงิน ไม่ใช่มูลค่าพอร์ต การกำหนดราคาในแต่ละแถวจำเป็นต้องมีการตัดสินใจแยกต่างหากว่าจะใช้อัตราแลกเปลี่ยนใดและบันทึกเวลาใด
การปะปนเขตเวลา ข้อมูลที่ส่งออกจะอยู่ในรูปแบบ UTC การแปลงเวลาในบางไฟล์แต่ไม่แปลงในไฟล์อื่นจะทำให้ธุรกรรมไปอยู่ในเดือนที่ผิด ซึ่งจะทำให้การเปรียบเทียบข้อมูลในแต่ละช่วงเวลาผิดเพี้ยนไปโดยที่คุณไม่รู้ตัว
บทสรุป
ไฟล์ส่งออกจากวอลเล็ตคือบันทึกเหตุการณ์ (event log) ไม่ใช่ใบแจ้งยอด ให้ใส่ป้ายกำกับทุกไฟล์ตามที่อยู่และเชน จากนั้นปรับขนาดจำนวนเงินตามทศนิยมและแยกค่าธรรมเนียมออก คัดการโอนที่ล้มเหลวออกจากยอดรวมมูลค่า และลบการเคลื่อนย้ายเงินระหว่างวอลเล็ตของคุณเองออก
เขียนกฎเกณฑ์ต่างๆ กำกับไว้ข้างสเปรดชีตด้วย เพราะบันทึกธุรกรรมวอลเล็ตที่ไม่มีกฎเกณฑ์กำกับไว้จะไม่สามารถนำกลับมาทำซ้ำได้อีก
สิ่งที่ทำให้วิธีนี้มีต้นทุนสูงคือการต้องทำขั้นตอนทั้งหมดนั้นซ้ำใหม่ทุกครั้งที่มีที่อยู่หรือเชนใหม่เพิ่มเข้ามา หากนั่นคือส่วนที่ทำให้คุณเสียเวลามากที่สุด ลองใช้ Powerdrill Bloom กับไฟล์ส่งออกที่คุณมีอยู่แล้ว นอกจากนี้ คุณยังสามารถดูคู่มือของเราเกี่ยวกับ การวิเคราะห์ไฟล์ CSV ที่ส่งออกจากกระดานเทรดคริปโต และ การวิเคราะห์พอร์ตโฟลิโอคริปโตจากไฟล์ CSV รวมถึงหน้า ผู้ช่วย AI สำหรับไฟล์ CSV ได้อีกด้วย
คำถามที่พบบ่อย
ฉันจะส่งออกธุรกรรมวอลเล็ตไปยังสเปรดชีตได้อย่างไร?
ใช้ block explorer ของแต่ละเชนและส่งออกข้อมูลแยกตามที่อยู่ โดยปกติแล้วธุรกรรมปกติ ธุรกรรมภายใน และการโอนโทเคนจะเป็นไฟล์ดาวน์โหลดที่แยกกัน ดังนั้นให้ดึงข้อมูลทั้ง 3 ประเภทนี้ออกมาก่อนที่จะนำมารวมกัน
ทำไมจำนวนโทเคนของฉันถึงดูไม่ถูกต้องหลังจากนำเข้าข้อมูล?
จำนวนโทเคนจะถูกจัดเก็บเป็นจำนวนเต็มและจำเป็นต้องปรับขนาดตามค่าทศนิยม (decimals) ของโทเคนนั้นๆ ทศนิยม 18 ตำแหน่งเป็นค่าที่พบบ่อยแต่ไม่ใช่ค่าสากล และการใช้ตัวคูณที่ผิดจะทำให้ยอดคงเหลือคลาดเคลื่อนไปหลายเท่าตัว
ควรนำค่าธรรมเนียมแก๊ส (gas fees) ไปรวมในจำนวนเงินที่ทำธุรกรรมหรือไม่?
ไม่ควร เนื่องจากค่าธรรมเนียมจะถูกจ่ายด้วยสกุลเงินดั้งเดิมของเชนนั้นๆ และแยกต่างหากจากมูลค่าที่โอน ให้เก็บค่าธรรมเนียมไว้ในคอลัมน์ของตัวเอง เพื่อให้ยอดรวมการโอนและยอดรวมค่าธรรมเนียมแยกเป็นอิสระจากกัน
ฉันจะหลีกเลี่ยงการนับซ้ำสำหรับการโอนระหว่างวอลเล็ตของตัวเองได้อย่างไร?
ให้เก็บรายการที่อยู่ทั้งหมดที่คุณควบคุมไว้ จากนั้นนำฟิลด์ from (จาก) และ to (ถึง) มาจับคู่กับรายการดังกล่าว การโอนที่ทั้งสองฝั่งเป็นที่อยู่ของคุณเองถือเป็นการเคลื่อนย้ายภายใน และควรคัดออกจากยอดรวมกิจกรรมการทำธุรกรรม
ธุรกรรมที่ล้มเหลวมีความสำคัญหรือไม่?
มีความสำคัญในแง่ของค่าธรรมเนียม เนื่องจากธุรกรรมที่ถูกยกเลิกจะไม่มีการเคลื่อนย้ายมูลค่าใดๆ แต่ยังคงเสียค่าแก๊สอยู่ ดังนั้นให้คัดธุรกรรมดังกล่าวออกจากยอดรวมการโอน แต่คงค่าธรรมเนียมที่เสียไปไว้