24 March 2011

ขยายความสูงของแถวให้เซลล์ที่ผสานไว้ (merged cell)

ปรกติแล้ว Excel สามารถขยายความสูงของแถวตามข้อมูลที่อยู่ในเซลล์ได้ โดยใช้ AutoFit Row Height
 Home tab -> Cells group -> Format -> AutoFit Row Height
แต่ feature นี้ใช้ไม่ได้กับเซลล์ที่ถูกผสานไว้ (merged cell)  ทางออกหนึ่งคือใช้ macro หรือหากไม่อยากยุ่งเกี่ยวกับ macro  อาจเลือกใช้วิธีอ้อม ๆ ดังนี้
  1. สมมติว่าเซลล์ที่ต้องการ merge คือ A1:C1  ให้ merge เซลล์ตามปรกติ
  2. ไปที่เซลล์อื่นที่อยู่นอกบริเวณที่ทำงานอยู่  เช่น ถ้าใช้งาน column A-M  อาจจะไปใช้เซลล์ Z1  ซึ่งเซลล์ Z1 นี้ ต้องไม่เป็นเซลล์ที่ถูก merge กับเซลล์อื่น
  3. ขยาย column Z ให้เท่ากับความกว้างของ column A-C รวมกัน
  4. ใส่สูตร =A1 ที่เซลล์ Z1 เพื่อดึงข้อมูลใน A1 ไปไว้ใน Z1
  5. ตั้งค่า AutoFit Row Height ให้แก่เซลล์ Z1
แค่นี้ก็สามารถทำให้ row 1 มีความสูงปรับตามข้อมูลในเซลล์ A1:C1 ที่ถูก merge ได้

13 March 2011

การคำนวณเลขประจำตัวประชาชนหลักที่ 13

วันนี้มาบริหารสมองกันดีกว่า...

เคยทราบกันไหมคะว่าเลขประจำตัวประชาชนหลักที่ 13 มีที่มาอย่างไร
ลองหยิบบัตรประจำตัวประชาชนขึ้นมาดูสิคะ

1. ให้เลขประจำตัวประชาชนเป็น A[13] (คือ อะเรย์ขนาด 13 ช่อง)

2. คูณแต่ละหลัก ดังนี้
A[0] * 13 (นำเลขหลักที่ 1 คูณ 13)
A[1] * 12
A[2] * 11
...
A[10] * 3
A[11] * 2

3. นำผลคูณทั้งหมดมาบวกกัน ให้ผลบวกเป็น B

4. C:= B mod 11

5. ให้เลขหลักที่ 13 เป็น A[12]
ถ้า C = 0; A[12] := 1
ถ้า C = 1; A[12] := 0
ถ้า C > 1; A[12] := 11-B

โพสครั้งแรกที่ http://pokpak.multiply.com เมื่อวันที่ 7 สิงหาคม 2550

รวมจำนวนชั่วโมง นาที วินาที ใน Excel

เมื่อต้องการรวมค่าชั่วโมง นาที วินาที ใน Excel เช่น

1 ชั่วโมง 30 นาที + 2 ชั่วโมง 45 นาที
ผลที่ต้องการ คือ 4 ชั่วโมง 15 นาที

ให้ใช้สัญลักษณ์ : (colon) เช่น
1:30 แทน 1 ชั่วโมง 30 นาที
2:45 แทน 2 ชั่วโมง 45 นาที
แล้วนำมาบวกกัน หรือใช้ sum()

ถ้าต้องการระบุจำนวนวินาที ให้เพิ่มจำนวนวินาทีข้างหลัง โดยคั่นด้วยเครื่องหมาย : เช่น
1:30:15 แทน 1 ชั่วโมง 30 นาที 15 วินาที

ข้อสังเกต
  1. ถ้าใส่ตัวเลขแค่ 2 ตัว Excel จะมองว่าเป็น ชั่วโมง:นาที เช่น 2:10 ถูกมองเป็น 2:10:00 นอกจากกำหนดรูปแบบไว้เป็นอย่างอื่น
  2. กรณีต้องการรูปแบบอื่น ให้ไปที่ Home -> Number -> Custom และเลือกรูปแบบที่ต้องการ