Vaqt oralig'ini kunlar, soatlar va daqiqalar sifatida formatlash

Bu faqat bitta Excel sahifasi savolidir.

Menda asosan ikkita hujayra o'rtasida farq bor, ularning har biri tarixni o'z ichiga oladi:

Raqamni formatini [h]: mm ga o'zgartirib, soat va daqiqa sonidagi vaqt farqini olishni muvaffaq bo'ldim. Endi men kunlar, soatlar va daqiqalar sonidagi farqni olishni istayman. Raqam formatini [d]: [h]: [mm] ga o'rnatishga harakat qildim, ammo u Excel tomonidan qabul qilinmadi.

Hozir menda nima bor:

    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

Men nimani olishni istayman:

    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

Buni qanday qilishim mumkin? Buning uchun raqamli format mavjudmi?

16

6 javoblar

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

Xuddi shu natijaga hujayralardagi oddiy sonlar formati yordamida erishish mumkinligiga e'tibor bering

  • 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
qo'shib qo'ydi
Qanchadan-qancha, kunlar soni faqat vaqtni olish uchun matnni (B1-A1; if (B1-A1> 1; «d: hh: mm»; h: mm)) farq bir kundan ustundir.
qo'shib qo'ydi muallif Otiel, manba
@tosh Excelga qabul qilinmaydi degani?
qo'shib qo'ydi muallif brettdj, manba
@Tozhe: matnni kiriting (B1-A1; "d: h: m")
qo'shib qo'ydi muallif peter70, manba
Excel formatidagi formulalar qabul qilinmaydi
qo'shib qo'ydi muallif Toshe, manba

Ogohlantirish: yuqorida ko'rsatilganlar faqat 31 kundan kamroq intervalgacha ishlaydi. foydalanish

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

Buning o'rniga 31 kundan yuqori intervalgacha. Bu yaxshi tartibga solinmaydi, shuning uchun hisobni bitta ustunda bajarish va natijada bu ustunni yakuniy natijalar uchun prettifikatsiya qilish yaxshiroq bo'ladi.

7
qo'shib qo'ydi
Tashakkur, men bu yerdan Google'dan kelganimda izlayapman. Ammo buning o'rniga "FLOOR (B1-A1.0)" bo'lishi kerak, nega kunlarning bir qismini saqlashni xohlaysiz?
qo'shib qo'ydi muallif Konstantin Pereiaslov, manba
Menga # DIV/0 bo'lsin! agar FLOOR (, 0) dan foydalansam. Ikkinchi parametr "saqlanish uchun o'nli kasrlarning soni" emas, balki "ahamiyatga ega". Ushrni ushlab turish uchun '0.1' yoki '0.01' ni muvaffaqiyatli berishingiz mumkin, lekin ularni yo'q qilish uchun '0' emas. Bu holatda, '1' FLOOR ning eng yaqin '1' ga teng bo'lgani uchun to'g'ri.
qo'shib qo'ydi muallif MrWonderful, manba

Quyidagilardan, eng qisqa formula emas, balki savolga to'g'ridan-to'g'ri javob emas, balki to'g'ri formatdagi (LibreOffice da) quyidagi formatda ko'rsatish uchun ishlaydi:

# kun ## soat ## daqiqa ## soniya

=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
qo'shib qo'ydi

Afsuski, raqam va datetime formatlari birlashtirilmaydi, aks holda maxsus format:

0:h:m

chipta bo'ladi. Biroq, agar siz 32 kun va undan ko'p vaqt oralig'ida siz faqat (fasilitali) kunlar sonini ko'rishdan mamnun bo'lsangiz, quyidagi kabi maxsus formatni foydalanishingiz mumkin:

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

Hujayra qiymati raqamli bo'lib qoladi.

1
qo'shib qo'ydi
Aslida, bu men uchun eng yaxshi ish, lekin ##: ##: ## formatidagi tartibsizlikni engish uchun odatda hh: mm: ss quyidagi kodni ishlatadi: [> = 32] 0.00 "kun"; [<1] h: m: s; dh: m: s , ushbu format 34.25 kun , 4 15:44:10 va 2:15:33 .
qo'shib qo'ydi muallif workoverflow, manba

Quyidagi yondashuv sizning boshlang'ich sanaingiz C2 hujayrasida ekanligi va sizning tugash sanasi D2 uyasiga qarab ishlaydi:

 =TEXT((D2-C2)-MOD(D2-C2,1),"0") & " days " & TEXT(MOD(D2-C2,1),"hh:mm")
0
qo'shib qo'ydi

=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

O'ylaymanki, bu sizning xayr-ehsoningizni qilish kerak.

0
qo'shib qo'ydi