วิธีการแยกตัวเลขที่แน่นอน 1234 จาก 1234: 00: 00 ใน Excel


0

ฉันมีชุดของรหัสที่แสดงในคอลัมน์ด้วยรูปแบบ [h]: mm: ss ใน excel ฉันต้องการแยกส่วน [h] ที่นำหน้าเครื่องหมายโคลอนและเก็บไว้เป็นตัวเลข ปัญหาที่ฉันพบคือมันแปลงตัวเลขเป็นตัวเลขใหม่ไม่ใช่ตัวเลขตามที่แสดง

ตัวอย่าง: 1234: 00: 00 จัดรูปแบบเป็น [h]: mm: ss ข้อความที่ต้องการในคอลัมน์ใหม่: 1234

ฉันกำลังมองหาที่จะใช้สูตรตรงเพื่อแก้ปัญหา


1
ภาษาอะไร? "มัน" คืออะไร (ที่แปลงตัวเลขให้เป็นตัวเลขใหม่)

ถ้าฉันแปลง 1234: 00: 00 เป็นตัวเลขเซลล์จะกลายเป็น 51.42 ฉันสามารถแสดง 1234 ถ้าฉันจัดรูปแบบเป็น [h] แต่ไม่สามารถค้นหาได้เมื่อพยายามเปรียบเทียบคอลัมน์ ฉันไม่สามารถหาวิธีแสดงทั้ง 1234 ในเซลล์เช่นเดียวกับที่เป็น 1234 จำนวน

คำตอบ:


5

คุณมีสองตัวเลือกที่นี่

หากคุณต้องการแสดงชั่วโมงคุณสามารถคัดลอกและวางเซลล์ (หรือ=B5สูตรง่าย ๆ) แล้วกำหนดรูปแบบการแสดงผลแบบกำหนดเอง[h]ได้

หากคุณจำเป็นต้องใช้หมายเลขสำหรับการคำนวณอื่น ๆ คุณสามารถใช้สูตรต่อไปนี้:

=TRUNC(B5*24,0)

และหากคุณต้องการได้รับนักเล่นมากขึ้นโดยใช้วิธีวันที่ / เวลา excel คุณสามารถใช้:

=DATEDIF(0, B5,"D") * 24 + HOUR(B5)

1
นั่นเป็นกลอุบาย คุณเพิ่งช่วยฉันชั่วโมง ขอขอบคุณ.

+1 สำหรับสูตร TRUNC (คุณสามารถใช้ INT) - อย่าใช้ DAYS360 ที่นี่มันไม่ได้ให้การนับวันที่แม่นยำเช่นมันจะแปลง 8888: 00: 00 ถึง8768
barry houdini

@barryhoudini: ขอบคุณฉันไม่ได้ตระหนักว่ามีปัญหากับ DAYS360 (ฉันคิดว่านั่นคือสิ่งที่มันมีไว้เพื่อฮ่า ๆ ) ลบตัวอย่างที่สอง
lnafziger

DAYS360 ถือว่าในแต่ละปีเป็นถ้ามันมี 360 วันคือวันที่ 30 ในแต่ละเดือนดังนั้นมันอาจจะไม่ถูกต้องข้ามเดือน - ใน Excel 2013 มีใหม่วันฟังก์ชั่นที่ไม่ให้นับถูกต้องในรุ่นก่อนหน้านี้คุณสามารถใช้ DATEDIF หรือถ้าไม่มี เวลามีส่วนร่วมเพียงแค่การลบอย่างง่าย
barry houdini

1

สิ่งต่าง ๆ เช่น=HOUR()จะไม่ทำเคล็ดลับเพราะจะไม่รวมบิตที่หกในช่วงกลางวัน =TEXT(A1, "hh") * 1เหมือนกัน 1234 ชั่วโมงทะลักเข้ามาหลายวัน

คุณต้องทำสิ่งนี้:

=ROUNDDOWN(VALUE(D5)*24,0)

ซึ่งจะรวมทั้งวันในจำนวนชั่วโมงทั้งหมด การปัดเศษแถบนาที ฯลฯ

สิ่งนี้ทำงานได้เพราะ Excel แสดงเวลาเป็นตัวเลขซึ่งเพิ่มขึ้น 1 ในแต่ละวัน

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


+1 ใช่ฉันจะเริ่มคัดลอก / วางไปยัง txt แล้วนำเข้าเป็นไฟล์ txt แต่นิสัยการใช้งานtext()ได้เพิ่มขึ้นเรื่อย ๆ ในช่วงสองสามสัปดาห์ที่ผ่านมา heh xD การใช้แผ่นจดบันทึกเพื่อขอความช่วยเหลือยังคงเป็นที่ชื่นชอบของฉัน!
Jerry

ฟังก์ชั่น TEXT จะทำงานถ้าคุณใช้มันเช่นนี้=TEXT(A1,"[h]")*1- จัดรูปแบบเซลล์ผลลัพธ์ตามแบบทั่วไป
barry houdini

0

หากคุณกำลังทำงานในสูตรชีตใช้hourฟังก์ชัน:

ป้อนคำอธิบายรูปภาพที่นี่

หากคุณใช้ VBA โซลูชันที่คล้ายกัน:

MsgBox Hour(sheet.Cells(1, 1))

1
ใช้งานได้จริงถ้าชั่วโมงเป็นชั่วโมงจริง แต่ไม่ได้อยู่กับตัวเลขที่ฉันใช้ซึ่งเป็นรหัสจริง 1234: 00: 00 ด้วยสูตรข้างต้นจะให้ผลลัพธ์เป็น 10 ไม่ใช่ 1234: - /

0

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

=MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$14),1)),0),MATCH(FALSE,ISNUMBER(1*MID(A1,ROW(OFFSET($1:$14,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$14),1)),0)-1,)),1)),0)-1)

หมายเหตุ: กด CTRl + SHIFT + ENTER เมื่อป้อนเนื่องจากเป็นสูตรอาร์เรย์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.