Уақыт аралығын бірнеше күн, сағат және минут ретінде пішімдеңіз

Бұл таза Excel парағы мәселесі.

Менде екі уақытты қамтитын, әрқайсысы күнді қамтитын екі ұяшықтың арасындағы айырмашылық:

Мен сандық форматты [h]: mm деп өзгерту арқылы сағат пен минут бойынша уақыт айырмашылығын алдық. Енді мен күн, сағаттар мен минуттардағы айырмашылықты алғым келеді. Мен сандық пішімді [d]: [h]: [мм] деп орнатуға тырыстым, бірақ ол Excel бағдарламасы арқылы қабылданбады.

Қазір менде бар:

    A                   B                   C (=A2-A1)
    ----------------    ----------------    ----------
1|  14/10/2011 00:00    17/10/2011 07:50    79:50
2|  14/10/2011 00:00    17/10/2011 11:00    83:00

Мынаны аламын:

    A                   B                   C (=A2-A1)
    ----------------    ----------------    ----------
1|  14/10/2011 00:00    17/10/2011 07:50    3:7:50
2|  14/10/2011 00:00    17/10/2011 11:00    3:11:00

Мұны қалай жасауға болады? Бұл үшін қол жетімді сан форматы бар ма?

16

6 жауаптар

You can use TEXT
=TEXT(B1-A1,"d:h:mm")

Бірдей әсерді жасушаларда қарапайым сандар форматын пайдалану арқылы қол жеткізуге болады

  • select your range (cells C1, C2 etc)
  • right click and Format Cells
  • Custom
  • Type d:hh:mm

If unlike your example data, your date differences exceed 31 days, then an approach such as =INT(B1-A1)&":"&TEXT(B1-A1,"h:mm")
will work

25
қосылды
Жақсы, мен күндердің санын тек уақытты алу үшін TEXT (B1-A1; IF (B1-A1> 1; «d: hh: mm»; h: mm)) айырмашылық бір күнден жоғары.
қосылды автор Otiel, көзі
@tosh Excel бағдарламасымен қабылданбайды деген нені білдіреді?
қосылды автор brettdj, көзі
@Toshe: TEXT (B1-A1; «d: h: m»)
қосылды автор peter70, көзі
терілген формула Excel бағдарламасында қабылданбайды
қосылды автор Toshe, көзі

Ескерту: жоғарыда аталғандар тек 31 күннің ішінде жұмыс істейді. пайдалану

=CONCATENATE(TEXT(FLOOR(B1-A1,1),"@")," Days",TEXT(B1-A1," h:mm:ss"))

орнына 31 күннен жоғары диапазондарда. Бұл жақсы сұрыпталмайды, сондықтан бір бағанда есептеулерді жасаған дұрыс, сосын соңғы нәтиже үшін осы бағанды ​​дәлелдеу керек.

7
қосылды
Рахмет, мен осы жерден Google-ден келгенде іздегенім. Бірақ орнына «FLOOR (B1-A1.0)» болуы керек, неге күннің бөлшек бөлігін сақтап қалғыңыз келеді?
қосылды автор Konstantin Pereiaslov, көзі
Мен # DIV/0 аламын! егер FLOOR (, 0) пайдалансам. Екінші параметр - «сақтау үшін ондық таңбалар саны» емес, «маңыздылығы». Сіз ондық таңбаларды сақтау үшін '0.1' немесе '0.01' қамтамасыз ете аласыз, бірақ оларды жою үшін '0' емес. Бұл жағдайда '1' дұрыс, себебі FLOOR ең жақын '1' болады.
қосылды автор MrWonderful, көзі

Әрине, ең қысқа емес формула емес, тікелей жауап емес, бірақ дұрыс нәтижені көрсету үшін жұмыс істейді (LibreOffice-де) келесі форматта:

# күн ## сағаттар ## минуттар ## секунд

=CONCATENATE(TEXT(FLOOR(B2-A2,1),"@")," days ", IF(HOUR(A12)-HOUR(A11)<0,HOUR(A12)-HOUR(A11)+24,HOUR(A12)-HOUR(A11))," hours ",IF(MINUTE(A12)-MINUTE(A11)<0,MINUTE(A12)-MINUTE(A11)+60,MINUTE(A12)-MINUTE(A11)), " minutes ", TEXT(B2-A2,"s"), " seconds")
1
қосылды

Өкінішке орай, сан және datetime пішімдерін біріктіру мүмкін емес, әйтпесе:

0:h:m

билет болар еді. Дегенмен, егер 32 күн немесе одан артық уақыт аралығы үшін, сіз жай (бөлшек) күндер көрсетілуіне қанағаттанасыз, мысалы:

[>=32] 0.00 "days"; d:h:m

Ұяшық мәні сан болып табылады.

1
қосылды
Бұл шынында да мен үшін ең жақсы жұмыс істейді, бірақ ##: ##: ## форматына байланысты шатасымды кетіру үшін әдетте hh: mm: ss , I келесі кодты пайдаланды: [> = 32] 0.00 «days»; [<1] h: m: s; dh: m: s , бұл пішім 34.25 күн , 4 15:44:10 және 2:15:33 .
қосылды автор workoverflow, көзі

Төмендегі тәсіл сіздің бастапқы күніңіз C2 ұяшығында екенін және сіздің аяқталу күніңіз D2 ұяшығында екенін ескере отырып жұмыс істейді:

 =TEXT((D2-C2)-MOD(D2-C2,1),"0") & " days " & TEXT(MOD(D2-C2,1),"hh:mm")
0
қосылды

=IFERROR(INT(Date1-Date2)&" Days "&INT(MOD((Date1-Date2);INT(Datw1-Date2))*24)&" Hours "&MINUTE(Fate1-Date)&" Min";IFERROR((Date1-Date2);"NA"))enter code here

Менің ойымша, бұл сізде қандай да бір күнді жасамау керек.

0
қосылды