PDA

View Full Version : คีย์20.06 เปลี่ยนเป็น 20:06



virai06
4 Jun 2007, 19:24
เรียน อาจารย์ที่เคารพ ทุกท่าน
วันนี้ดิฉันเจอปัญหา นายต้องการให้คีย์เวลาและนาที เช่น20:06 หรือตัวเลขเวลาอื่นๆ ซึ่งมีเป็นนับร้อยรายการ เนื่องจากพนักงานมีจำนวนเป็นร้อย ดิฉันลำบากแสนสาหัสเพราะต้องคีย์ : ทุกรายการ
จึงขอเรียนถามว่า มีวิธีใดบ้างดังนี้-
1.เช่นถ้าคีย์ 20.06 ให้เปลี่ยนป็น 20:06 แทน (เช่นกำหนดรูปแบบFORMAT เป็นเวลาได้หรือไม่
มีวิธีทำอย่างไร
2.หากทำไม่ได้ตามข้อที่1 และใช้วิธีกำหนดเป็นสูตรได้หรือไม่ อย่างไร
ขอคำแนะนำด้วยค่ะ ขอบคุณมากค่ะ

zv735
4 Jun 2007, 22:12
ลอง copy ข้อมูลColumnที่เป็นเวลาที่จะเปลี่ยน ไปไว้อีกชีทหนึ่ง
แล้วใช้ Edit --> Replace แล้วเลือกให้ Find . แล้ว Replace ด้วย :

ไม่ทราบว่าได้หรือเปล่านะครับ

ขอบคุณมากมากครับผม

hs1
4 Jun 2007, 22:21
เรียน อาจารย์ที่เคารพ ทุกท่าน
วันนี้ดิฉันเจอปัญหา นายต้องการให้คีย์เวลาและนาที เช่น20:06 หรือตัวเลขเวลาอื่นๆ ซึ่งมีเป็นนับร้อยรายการ เนื่องจากพนักงานมีจำนวนเป็นร้อย ดิฉันลำบากแสนสาหัสเพราะต้องคีย์ : ทุกรายการ
จึงขอเรียนถามว่า มีวิธีใดบ้างดังนี้-
1.เช่นถ้าคีย์ 20.06 ให้เปลี่ยนป็น 20:06 แทน (เช่นกำหนดรูปแบบFORMAT เป็นเวลาได้หรือไม่
มีวิธีทำอย่างไร
2.หากทำไม่ได้ตามข้อที่1 และใช้วิธีกำหนดเป็นสูตรได้หรือไม่ อย่างไร
ขอคำแนะนำด้วยค่ะ ขอบคุณมากค่ะ
ถ้าใช้สูตรจะใช้ได้เฉพาะตัวเลขที่มีทศนิยม ถ้าตัวเลขไม่มีทศนิยมจะใช้ไม่ได้นะครับ
ถ้าข้อมูล 20.6 อยู่ที่ B2
สูตร =REPLACE(B2,MIN(SEARCH({"."},B2&"0123456789")),1,":")

Nongmod
5 Jun 2007, 11:35
ใช้สูตรแบบนี้ก็ได้ครับแต่เวลาที่ไม่มีนาทีต้องพิมพ์แบบนี้นะครับ เช่น 9.00 ไม่ใช่ 9
=ABS(SUBSTITUTE(D2,".",":"))

วานิชย์
5 Jun 2007, 11:38
เรียน อาจารย์ที่เคารพ ทุกท่าน
วันนี้ดิฉันเจอปัญหา นายต้องการให้คีย์เวลาและนาที เช่น20:06 หรือตัวเลขเวลาอื่นๆ ซึ่งมีเป็นนับร้อยรายการ เนื่องจากพนักงานมีจำนวนเป็นร้อย ดิฉันลำบากแสนสาหัสเพราะต้องคีย์ : ทุกรายการ
จึงขอเรียนถามว่า มีวิธีใดบ้างดังนี้-
1.เช่นถ้าคีย์ 20.06 ให้เปลี่ยนป็น 20:06 แทน (เช่นกำหนดรูปแบบFORMAT เป็นเวลาได้หรือไม่
มีวิธีทำอย่างไร
2.หากทำไม่ได้ตามข้อที่1 และใช้วิธีกำหนดเป็นสูตรได้หรือไม่ อย่างไร
ขอคำแนะนำด้วยค่ะ ขอบคุณมากค่ะ

เป็นการเสี่ยงต่อความผิดพลาดสูงมากครับ ในการทำลักษณะเช่นนี้
ไม่ว่าจะเป็นการใช้ Find & Replace หรือใช้สูตร ตัวเลข/เวลา จะต่างกันอยู่พอสมควร

ถ้าเวลาที่ Input เข้าไปเพียงเพื่อแสดงเท่านั้นก็ยังไม่เท่าไร

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

ตัวอย่างง่าย ๆ ขอให้ลอง Input 2 เวลานี้(โดยใช้รูปแบบที่คุณต้องการ) แล้วลองใช้ 2 วิธีด้านบนแปลงแล้วดูผลที่ได้ว่าถูกต้องหรือไม่
2:05 กับ 2:50
หรือ
2:03 กับ 2:30

zv735
5 Jun 2007, 14:08
เห็นด้วยอย่างยิ่ง กับ อาจารย์วานิชย์ ครับ

การ Replace จะใช้ได้ผลก็ต่อเมื่อเป็นการคีย์ข้อมูลแบบตัวหนังสือเท่านั้นครับ
เช่น คีย์ a2.03 , a2.30 , a2.05 , a2.50
แล้ว Replace . ด้วย : เสร็จแล้ว ก็ Replace a ด้วย ไม่พิมพ์อะไร ก็ได้เหมือนกันครับ

หรือ ถ้าจำเป็นจริงๆ ใช้สูตรนี้น่าจะผ่านนะครับ

=Text(TIME(INT(A1),MOD(A1,1)*100,0),"hh:mm")

ข้อมูลที่จะเปลี่ยนอยู่ที่ A1 ครับ

ขอบคุณมากมากครับผม

สมเกียรติ
6 Jun 2007, 11:59
ผมแนะนำให้ใช้สูตร Time ปรับเลขที่บันทึกไว้ให้เป็นเวลา โดยให้บันทึกเวลาเป็นเลขติดกันไปเลย เช่น
1206
206
1006
แล้วใช้สูตร =TIME((B2-RIGHT(B2,2))/100,RIGHT(B2,2),0) ซึ่งจะคำนวณออกมาเป็น
12:06
2:06
10:06

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

virai06
7 Jun 2007, 21:18
สวัสดีคะอาจารย์
ขอบพระคุณอาจารย์ทุกท่านที่ให้ความกรุณา แต่ต้องขอขอบพระคุณอาจารย์สมเกียรติอย่างยิ่งที่ให้ความกรุณาชี้แนะขั้นสุดท้ายแถมมีตัวอย่างให้ด้วย ดิฉันสนใจมากคะ สูตรอาจารย์สามารถนำไปคำนวณต่อได้ไหมคะ เช่นถ้ากำหนดเวลาเริ่มต้นทำ OT ที่ 18:00 น.
และจากสูตรอาจารย์มาหักลบกันเหลือจำนวนชั่วโมงทำงาน จะนำจำนวนชม.ทำงานทั้งหมดมาคูณค่าแรงต่อชม.ได้หรือไม่ จะมีการ ERROR หรือไม่
เช่น เริ่มงาน18:00แต่ละวัน ได้ทำ OT รวม3วัน วันแรก เลิกงาน20:45 น. วันที่2 เลิกงาน 19:36 น. วันที่3 เลิกงาน 20:17 น. เมื่อรวมผลต่างของแต่ละวันที่ทำOT แล้ว มาคูณค่าจ้างต่อชม. สมมติชม.ละ120 บาท จะคำนวณต่อเป็นค่า OT ที่ต้องจ่ายทั้งหมดได้ไหม ขออนุญาตตัวอย่างการคำนวณได้ไหมคะ ขอบพระคุณค่ะ

สมเกียรติ
7 Jun 2007, 21:36
ก่อนอื่นต้องเข้าใจเรื่องค่าของวันที่และเวลาก่อนว่า Excel คิดอย่างไร จากนั้นเรานำวันเดือนปีและเวลาสุดท้ายตั้งแล้วลบด้วยวันเดือนปีเวลาเริ่ม จะได้เป็นระยะเวลาในช่วงนั้น จากนั้นให้นำอัตราค่าแรงต่อวันคูณเข้าไปจะได้ค่าแรง

ให้ดูคำอธิบายที่
http://www.excelexperttraining.com/general/rdateandtime.html

ซึ่งมีตัวอย่างแสดงไว้ตอนท้ายของคำอธิบายครับ นอกจากนั้นยังมีตัวอย่างอีกมากที่เมนู Download > Extreme > งานวางแผนกำหนดการ

virai06
9 Jun 2007, 15:21
จากตัวอย่างที่อาจารย์ให้มาและให้คำแนะนำต่างๆนั้น ดิฉันทดลองหาผลรวมของเวลาทำงาน OT แต่ละวันมารวมกันปรากฎว่าเมื่อเกิน24 ชม.จะเปลี่ยนค่าไป ซึ่งทำให้ผลรวมไม่ไช่จำนวนรวมชมOT เป็นเพราะอะไร มีวิธีแก้อย่างไร ขอคำแนะนำด้วยค่ะ ได้แนบแฟ้มมาพิจารณา

หมายเหตุ-จำนวนชมOT ไม่น่าจะเป็น 9:26 เพราะถ้าเอาค่าแรง120บาทต่อชม.ไปคูณ ตัวเลขค่าแรงจะผิดพลาดแน่นอน

สมเกียรติ
9 Jun 2007, 16:00
หากอ่านคำแนะนำตาม link ที่ผมบอกไปให้ดี ข้อ 4 บอกไว้ว่า


หากต้องการใช้ช่วงเวลาตั้งแต่ 24 ชั่วโมงขึ้นไป ต้องกำหนด Format > Cells > Number > Custom > Type เป็น [h]:mm (ในทำนองเดียวกัน หากต้องการใช้ข่วงเวลาเกิน 60 นาที ให้กำหนด format [mm]:ss

จำง่ายๆว่า เมื่อใดที่ต้องการคำนวณระยะเวลา (ไม่ใช่หาเวลา) ให้ใช้รูปแบบ [h]:mm จากนั้นนำค่าแรงต่อวันคูณเข้าไป จะได้คำตอบเป็นค่าแรงครับ

แนะนำว่าคราวหน้าขอให้ลองอ่านคำแนะนำให้ละเอียดและคำนวณดูก่อน ผิดหรือถูกก็ไม่ว่ากัน จะได้ช่วยให้เกิดความกล้าในการเรียนรู้ด้วยตนเอง ตัวอย่างที่แนบมานั้นมีที่ผิดอยู่แค่ไม่ได้เปลี่ยนรูปแบบระยะเวลาในเซลล์ E2 : E17 เป็น [h]:mm และคุณไม่กล้าลองเอาค่าแรงต่อวันไปคูณต่อเท่านั้นเองครับ (ถึงแม้จะไม่แก้รูปแบบระยะเวลาให้ถูก ก็จะได้คำตอบค่าแรงถูกต้องครับ แต่เราควรแก้ไขรูปแบบให้ตรงกับเรื่องของระยะเวลา)

พยายามอ่านและทำความเข้าใจค่าของ Serial Number ให้ดีว่าหน่วยเป็นต่อวัน

virai06
9 Jun 2007, 18:55
กราบขอโทษอาจารย์สมเกียรติด้วยค่ะ
ดิฉันบกพร่องจริงๆ อ่านไม่ละเอียดพอ
ขอบพระคุณนะค่ะ เห็นภาพชัดมากขึ้นแล้วค่ะ

สมเกียรติ
9 Jun 2007, 21:02
:) ดีใจครับที่พอเห็นแนวทางได้แล้วบ้าง