วันพฤหัสบดีที่ 29 พฤศจิกายน พ.ศ. 2555

การใช้ excel ช่วยคำนวณทางโหราศาสตร์ 1(หาตำแหน่งดวงอาทิตย์และวันเกิด)

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

ภาพที่ 1 จักราศี
การหาตำแหน่งของดวงอาทิตย์สถิตอยู่ที่ราศีใด ในขณะที่ท่านเกิด เราต้องทราบวันเดือนที่เกิด โดยอ้างอิงข้อมูลตามตารางที่ 1


ตารางที่ 1
เอาหล่ะครับจากข้อมูลในตารางที่ 1 เราจะออกแบบรูปแบบการคำนวณใน excel ดังนี้
1 ผู้ใช้ บันทึก วันเดือนปีเกิดลงใน CELL B2  ในรูปแบบ dd/mm/yyyy โดยเป็นปี พ.ศ. 
2. บันทึกสูตร excel เพื่อแสดงรายชื่อวันในสัปดาห์และหาตำแหน่งของดวงอาทิตย์

การหารายชื่อวันในสัปดาห์
เราจะใช้สูตร excel : WEEKDAY ในการแสดงลำดับของวันในสัปดาห์และใช้ลำดับของวันเป็นข้อมูลค้นหาชื่อวันในสัปดาห์โดยใช้สูตร excel : vlookup โดย สมมุติให้ตารางข้อมูลชื่อวันในสัปดาห์

สูตร excel : IFERROR(VLOOKUP(WEEKDAY(B2),$G$2:$H$8,2,FALSE),"Invalid Date")

จากสูตรดังกล่าวหากวันเดือนปีที่บันทึกใน B2 ไม่ถูกต้องจะแสดงข้อความ Invalid Date ใน CELL B3

การหาปี คศ
ใช้สูตร excel : year($B$2)

การหาตำแหน่งดวงอาทิตย์
จากตารางที่ 1 เราจะใช้สูตร excel : vlookup ช่วยค้นหา โดยก่อนอื่นต้องปรับตารางข้อมูลตำแหน่งราศีให้สามารถใช้กับสูตร excel : vlookup ก่อนดังแสดงในภาพที่ 2 (รายละเอียดการปรับตารางเพื่อใช้กับสูตร excel : vlookup ดูได้ที่บทความ Excel VLOOKUP ตอน VLOOKUP กับการตัดเกรด 

ภาพที่ 2 ตารางข้อมูลตำแหน่งดวงอาทิตย์เพื่อใช้กับสูตร excel : vlookup

จะสังเกตว่าผมได้เพิ่มปี พศ ต่อท้ายเดือนไปด้วย โดยกำหนดให้เป็นข้อมูลปี 2012 และ 2013 เพื่อเป็นเงื่อนไขในการค้นหาด้วยสูตร excel vlookup ดังนั้นข้อมูลที่เราจะค้นจึงต้องเป็นปรับเปลี่ยนปี พศ จริงของวันเดือนปีที่บันทึก เป็นปี 2012 และ 2013  โดยจากภาพที่ 2 เราจะใช้ลำดับของเดือนเป็นตัวกำหนดปี พศ โดยกำหนดให้ หากลำดับของเดือนน้อยกว่า เดือนเมษายน (4) จะกำหนดให้ปี พศ เป็น 2013 นอกนั้นเป็นปี 2012
เราจะสร้างข้อมูล วัน เดือน ปี เพื่อใช้ค้นหาโดยใช้ข้อมูลจาก CELL B2 โดยใช้สูตร excel : DATE(yyyy/mm/dd) และ สูตร excel : OR ตรวจสอบเงื่อนไขขอบเขตระหว่างราศีเมษและราศีมีน และนำข้อมูล วัน เดือน ปี ที่สร้างแล้วไปค้นหาตำแหน่งดวงอาทิตย์โดยใช้สูตร excel : vlookup ดังแสดงในภาพที่ 3 ผลการคำนวณโดยใช้สูตร excel แสดงได้ดังภาพที่ 3


ภาพที่ 3 ผลการค้นหาตำแหน่งดวงอาทิตย์

จากตัวอย่าง วันเดือนปีที่บันทึกคือ 20 ตุลาคม 2555 ซึ่งเราจะพบว่าเป็นวันเสาร์ดวงอาทิตย์สถิตอยู่ราศีตุลย์ ครับ และตามตำราโหราศาสตร์ไทย จักราศี ตามที่ได้แสดงในภาพที่ 1 จะแบ่งออกเป็น 12 ส่วน ส่วนละ 30 องศา (รวมแล้วก็ 360 องศาตามหลักของมุมรองรับวงกลม) โดยในแต่ละส่วนจะเรียกว่าราศี โดยจะเริ่มนับราศีที่ 0 เป็นราศีเมษ และให้นับตามลำดับในทิศทวนเข็มนาฬิกา โดยนับไปถึงราศีที่ 11 คือราศีมีน ดังแสดงในตารางที่ 2 ดังนั้นจากตัวอย่าง วันที่ 20 ตุลาคม 2555 เป็นราศีตุลย์ เราสามารถวางตำแหน่งดวงอาทิตย์ได้ที่ส่วนลำดับที่ 6 ของจักราศี ดังแสดงในภาพที่ 1 ในบทความต่อไปของเรื่อง การใช้ excel ช่วยคำนวณทางโหราศาสตร์จะนำเสนอการหาตำแหน่งลัคนากำเนิดครับ และหวังว่าจะเป็นประโยชน์กับผู้ใช้ excel ในการประยุกต์ใช้ในด้านอื่นๆด้วยครับ สวัสดีครับ 

ปล
ข้อมูลทางโหราศาสตร์และรูปภาพจักราศีผมอ้างอิงจากบล๊อก 

เรียนลัดโหราศาสตร์ บทที่ 1 : หาตำแหน่งดวงอาทิตย์


บทความที่เกี่ยวข้อง



วันศุกร์ที่ 16 พฤศจิกายน พ.ศ. 2555

การสร้างกราฟแสดงค่าการพยากรณ์แบบอัตโนมัติด้วย excel

การใช้ excel ฉบับนี้เป็นเนื้อหาต่อเนื่องจากการใช้ excel ช่วยพยากรณ์ด้วยวิธีค่าเฉลี่ยเคลื่อนที่ ซึ่งผมได้นำเสนอไว้ 2 หัวเรื่องคือ การพยากรณ์ด้วยวิธีค่าเฉลี่ยเคลื่อนที่ และ การพยากรณ์ด้วยวิธีค่าเฉลี่ยเคลื่อนที่ซ้ำสองครั้ง ซึ่งท่านผู้อ่านจะเห็นว่าข้อมูลที่นำมาพยากรณ์เป็นข้อมูลที่เรียงการตามเวลาต่อเนื่องกันไปตามช่วงเวลาที่สนใจ ดังนั้นการนำเสนอข้อมูลการพยากรณ์ในรูปแบบกราฟเส้นจะช่วยให้เราสามารถเปรียบเทียบข้อมูลที่เกิดขึ้นจริงและการพยากรณ์ได้ ซึ่งจะช่วยให้เราสามารถปรับวิธีการคำนวณหรือเลือกวิธีการคำนวณทีเหมาะสมที่สุดได้ ในตัวอย่างการนำเสนอในบทความนี้จะขอนำเสนอ การเตรียมข้อมูลการพยากรณ์ด้วยวิธีค่าเฉลี่ยเคลื่อนที่ โดยจะเปรียบเทียบค่าเฉลี่ยเคลื่อนที่แบบ 3 เดือน 4 เดือน และ 5 เดือน ของราคาสินค้าในแต่ละเดือน โดยเริ่มตั้งแต่เดือน มค 55 โดยรูปแบบการบันทึกข้อมูลจะเป็นดังนี้
1. หลัก B เป็นรายชื่อเดือน
2. หลัก C เป็นราคาสินค้าจริง
3. หลัก D เป็นค่าพยากรณ์ 3 เดือน
4. หลัก E เป็นค่าพยากรณ์ 4 เดือน
5. หลัก F เป็นค่าพยากรณ์ 5 เดือน

       ข้อมูลจะถูกบันทึกตั้งแต่แถวที่ 4 เป็นต้นไป สำหรับสูตร excel ที่ใช้ในการคำนวณค่าเฉลี่ย 3 เดือน 4 เดือน และ 5 เดือน จะเริ่มที่ CELL D7 , E8 และ F9 ตามลำดับ โดยสูตร excel จะเป็นไปตามที่นำเสนอในบทความ การใช้ excel พยากรณ์ด้วยวิธีค่าเฉลี่ยเคลื่อนที่ ดังนี้

CELL D7
IF(ISBLANK(C6),"",AVERAGE(OFFSET($C$4,COUNT($C$4:C6)-3,0,3,1)))
คำอธิบาย
จะตรวจสอบการบันทึกข้อมูลราคาสินค้าเดือน มีค 55 (C6) หากยังไม่มีการบันทึกจะยังไม่คำนวณค่าเฉลี่ย แต่หากมีข้อมูลใน C6 จะคำนวณค่าเฉลี่ยโดยใช้สูตร excel : AVERAGE ร่วมกับการใช้สูตร excel : OFFSET โดยใช้ข้อมูลย้อนหลัง 3 เดือน

CELL E8
IF(ISBLANK(C7),"",AVERAGE(OFFSET($C$4,COUNT($C$4:C7)-4,0,4,1))) 
คำอธิบาย
จะตรวจสอบการบันทึกข้อมูลราคาสินค้าเดือน เมย 55 (C7) หากยังไม่มีการบันทึกจะยังไม่คำนวณค่าเฉลี่ย แต่หากมีข้อมูลใน C7 จะคำนวณค่าเฉลี่ยโดยใช้สูตร excel : AVERAGE ร่วมกับการใช้สูตร excel : OFFSET โดยใช้ข้อมูลย้อนหลัง 4 เดือน

CELL F9
IF(ISBLANK(C8),"",AVERAGE(OFFSET($C$4,COUNT($C$4:C8)-5,0,5,1)))
คำอธิบาย
จะตรวจสอบการบันทึกข้อมูลราคาสินค้าเดือน พค 55 (C8) หากยังไม่มีการบันทึกจะยังไม่คำนวณค่าเฉลี่ย แต่หากมีข้อมูลใน C8 จะคำนวณค่าเฉลี่ยโดยใช้สูตร excel : AVERAGE ร่วมกับการใช้สูตร excel : OFFSET โดยใช้ข้อมูลย้อนหลัง 5 เดือน

ทำการ copy สูตรจาก D7, E8 และ F9  ลงไปเพื่อให้ excel คำนวณค่าเฉลี่ยโดยอัตโนมัติหากมีการบันทึกข้อมูลราคาสินค้าในหลัก C รูปแบบผลการคำนวณค่าเฉลี่ยแสดงได้ดังภาพที่ 1 โดยการใส่ลำดับของข้อมูลในหลัก A สามารถใช้สูตร Excel : IF ได้ ซึ่งได้นำเสนอไว้แล้ว



ภาพที่ 1 ผลการใช้ excel คำนวณค่าเฉลี่ยเคลื่อนที่

การจัดเตรียมข้อมูลก่อนสร้างกราฟเส้น
1. สร้างข้อมูลแบบพลวัตร โดยแบ่งข้อมูลดังนี้
   ข้อมูลแกนนอน (แกน x) ซึ่งแสดงรายชื่อเดือนต่างๆ เราจะกำหนดข้อมูลแบบพลวัตรได้ดังนี้ (สมมุติให้ข้อมูลถูกบันทึกไว้ที่ Sheet ชื่อ MV
ชื่อข้อมูล X_DATA
สูตร excel : OFFSET(MV!$B$4,0,0,COUNT(MV!$C:$C)+1,1)
ชื่อข้อมูล Y_Data เป็นข้อมูลราคาสินค้าจริงในหลัก C
สูตร excel : OFFSET(MV!$C$4,0,0,COUNT(MV!$C:$C)+1,1)
ชื่อข้อมูล Y3_Data เป็นข้อมูลค่าเฉลี่ยเคลื่อนที่แบบ 3 เดือน
สูตร excel : OFFSET(MV!$D$4,0,0,COUNT(MV!$D:$D)+3,1)
ชื่อข้อมูล Y4_Data เป็นข้อมูลค่าเฉลี่ยเคลื่อนที่แบบ 4 เดือน
สูตร excel : OFFSET(MV!$E$4,0,0,COUNT(MV!$E:$E)+4,1)
ชื่อข้อมูล Y5_Data เป็นข้อมูลค่าเฉลี่ยเคลื่อนที่แบบ 5 เดือน
สูตร excel : OFFSET(MV!$F$4,0,0,COUNT(MV!$F:$F)+4,1)

2. สร้างกราฟเส้น โดยเลือก แทรก->แผนภูมิเส้นพร้อมเครื่องหมาย แสดงแนวโน้มตามเวลา และเลือกข้อมูลเพื่อเปรียบเทียบข้อมูลจริงและข้อมูลจากการพยากรณ์ ดังแสดงในภาพที่ 2 , 3 และ 4


ภาพที่ 2 การเลือกแหล่งข้อมูล



ภาพที่ 4 การพิมพ์เลือกค่าข้อมูลพลวัตรสำหรับราคาสินค้า



ภาพที่ 5 การพิมพ์เลือกค่าข้อมูลพลวัตรสำหรับป้ายชื่อแกน

กราฟเส้นที่แสดงแนวโน้มราคาสินค้าที่ได้แสดงดังภาพที่ 6


ภาพที่ 6 กราฟแสดงแนวโน้มราคาสินค้าด้วยวิธีค่าเฉลี่ยเคลื่อนที่

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

วันเสาร์ที่ 10 พฤศจิกายน พ.ศ. 2555

Excel Tips: การกำจัดอักขระที่ไม่เป็นตัวเลขในข้อความ

วันนี้ Excel Tips แบบง่ายๆที่จะนำเสนอคือ การกำจัดอักขระที่ไม่เป็นตัวเลขในข้อความ ซึ่งท่านผู้อ่านจะพบได้มากในกรณีการนำเข้าข้อมูลรูปแบบอื่นๆมายัง Excel ดังนั้นก่อนจะดำเนินการวิเคราะห์หรือนำข้อมูลไปใช้เราต้องจัดการกำจัดอักขระเหล่านี้ออกไปก่อนครับ เป็นที่ทราบอยู่แล้วว่าอักขระทั้งหมดมี 255 ตัว เราสามารถแสดงอักขระเหล่านั้นใน CELL ได้โดยใช้สูตร excel : Char(number) โดย number จะเป็นตัวเลขระหว่าง 1 - 255 ในตัวอย่างนี้จะแสดงตัวอักขระแต่ละตัวในคอมลัมภ์ D โดยจะเรียงตั้งแต่อักขระตัวที่ 1 ถึง ตัวที่ 255 ในแถวถัดไป ซึ่ง number จะได้จากสูตร excel : ROW() ซึ่งจะคืนค่าหมายเลขแถวของ CELL ดังกล่าว ดังนั้นเราจะเขียนสูตร excel เพื่อแสดงอักขระแต่ละตัวได้ดังนี้
สมมุติให้ D1 เป็นอักขระตัวที่ 1 จะเขียนสูตร excel ใน D1 ได้เป็น 
= CHAR(ROW())
และเมื่อ copy สูตร excel ลงไปตามแถวจนถึงแถวที่ 255 ในหลัก D เราจะได้อักขระแสดงได้ดังภาพที่ 1


ภาพที่ 1 อักขระที่ได้จากสูตร excel : CHAR

ผลการใช้สูตร Excel : CHAR เราจะพบว่าอักขระที่เป็นตัวเลขอารบิก 0-9 จะเป็นอักขระตัวที่ 48-57 ขณะที่ตัวอักขระภาษาอังกฤษตัวพิมพ์ใหญ่จะเป็นอักขระตัวที่ 65-90 และ ตัวพิมพ์เล็กจะเป็นอักขระตัวที่ 97-122

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

Substitute(text,old text,new text) โดย
text คือข้อความต้นฉบับ
old text คือข้อความหรืออักขระภายในข้อความต้นฉบับที่ต้องการกำจัด
new text คือข้อความที่ต้องการแทนที่ old text ซึ่งในที่นี้คือค่าว่าง ""

เราจะแทนที่อักขระที่ไม่ต้องการด้วยค่าว่างและจะทำการตรวจสอบข้อความเพื่อกำจัดอักขระที่ไม่ต้องการและแทนที่ด้วยค่าว่างตั้งแต่อักขระตัวที่ 1 -255 โดยยกเว้นอักขระตัวที่ 48-57 ดังนั้นเราจะต้องลบสูตร Excel : CHAR ในแถวที่ 48 - 57 ออกก่อน สมมุติให้ข้อความที่ต้องการเฉพาะตัวเลขอยู่ใน CELL B3 ดังแสดงในภาพที่ 2 เราจะดำเนินการกำจัดอักขระดังกล่าวตามขั้นตอนดังนี้
1. เขียนสูตร Excel :  Substitute ใน CELL E1 เป็น  =SUBSTITUTE(B3,D1,"") เพื่อกำจัดอักขระตัวที่ 1
2. เขียนสูตร Excel :  Substitute ใน CELL E2 เป็น  =SUBSTITUTE(E1,D2,"")  เพื่อกำจัดอักขระตัวที่ 2
3. Copy สูตร Excel ใน CELL E2 ลงไป CELL E3 จนถึง CELL E255 เพื่อกำจัดอักขระตัวที่ 3 - 255 (ยกเว้นตัวที่ 48 -57 ซึ่งเราได้ลบสูตร Excel : CHAR ไปแล้วจะไม่ถูกกำจัด)
แสดงผลลัพธ์การกำจัดอักขระที่ไม่ต้องออกจากข้อความหมดแล้วใน CELL C3 โดยกำหนดให้ค่าใน CELL C3 = E255 ดังแสดงในภาพที่ 2


ภาพที่  2 แสดงผลการกำจัดอักขระที่ไม่ใช่ตัวเลขหมดแล้ว

จากตัวอย่างท่านผู้อ่านสามารถประยุกต์ได้อีกมากครับ เช่นหากต้องการทั้งตัวเลข ตัวอักษร ภาษาไทยภาษาอังกฤษ ก็สามารถทำได้ โดยสิ่งสำคัญต้องทราบก่อนคืออักขระที่เราต้องการเป็นอักขระลำดับที่เท่าไหร่จากนั้นให้ไปลบสูตร excel : CHAR(ROW()) ในแถวนั้นก่อนดังตัวอย่างที่นำเสนอไป เท่านี้เราก็ได้ข้อความที่สามารถนำไปใช้งานได้แล้ว 




Yahoo bot last visit powered by  Ybotvisit.com