Excel WEEKNUM-funkcio - konverti semajnan nombron al dato kaj inverse

  • Kundividu Ĉi Tion
Michael Brown

Dum Microsoft Excel disponigas aron da funkcioj por labori kun labortagoj, monatoj kaj jaroj, nur unu disponeblas dum semajnoj - la funkcio WEEKNUM. Do, se vi serĉas manieron akiri semajnan nombron de dato, WEEKNUM estas la funkcio, kiun vi volas.

En ĉi tiu mallonga lernilo, ni mallonge parolos pri la sintakso kaj argumentoj de Excel WEEKNUM, kaj poste diskutu kelkajn formulekzemplojn montrantajn kiel vi povas uzi la funkcion WEEKNUM por kalkuli semajnnombrojn en viaj Excel-laborfolioj.

    Excel WEEKNUM-funkcio - sintakso

    La funkcio WEEKNUM estas uzata en Excel por redoni la semajnan numeron de specifa dato en la jaro (nombro inter 1 kaj 54). Ĝi havas du argumentojn, la 1-a estas postulata kaj la 2-a estas nedeviga:

    WEEKNUM(seria_numero, [return_type])
    • Seria_numero - ajna dato ene de la semajno kies numeron vi provas trovi. Ĉi tio povas esti referenco al ĉelo enhavanta la daton, dato enigita per uzado de la DATO-funkcio aŭ resendita per iu alia formulo.
    • Return_type (laŭvola) - nombro kiu determinas sur kiu tago la semajno komenciĝas. Se ellasita, la defaŭlta tipo 1 estas uzata (la semajno komencanta dimanĉe).

    Jen kompleta listo de la return_type valoroj subtenataj en WEEKNUM-formuloj.

    Return_tipo Semajno komenciĝas je
    1 aŭ 17 aŭ preterlasita Dimanĉo
    2 aŭ11 Lundo
    12 Mardo
    13 Merkredo
    14 Ĵaŭdo
    15 Vendredo
    16 Sabato
    21 Lundo (uzata en Sistemo 2, bonvolu vidi la detalojn sube.)

    En la funkcio WEEKNUM estas uzataj du malsamaj semajnaj numeraj sistemoj :

    • Sistemo 1. La semajno enhavanta la 1-an de januaro estas konsiderata. la 1-a semajno de la jaro kaj estas numerita semajno 1. En ĉi tiu sistemo, la semajno tradicie komenciĝas dimanĉe.
    • Sistemo 2. Ĉi tiu estas la ISO-semajna datsistemo kiu estas parto de la Normo pri dato kaj horo ISO 8601. En ĉi tiu sistemo, la semajno komenciĝas lunde kaj la semajno enhavanta la unuan ĵaŭdon de la jaro estas konsiderita semajno 1. Ĝi estas ofte konata kiel la eŭropa semajna numera sistemo kaj ĝi estas uzata ĉefe en registaro kaj komerco por fiskaj jaroj kaj tempokonservado.

    Ĉiuj resendaj tipoj listigitaj supre validas por Sistemo 1, krom por revena tipo 21 kiu estas uzata en Sistemo 2.

    Noto. En Excel 2007 kaj pli fruaj versioj, nur opcioj 1 kaj 2 estas disponeblaj. Revenaj tipoj 11 ĝis 21 estas subtenataj nur en Excel 2010 kaj Excel 2013.

    Formuloj de Excel WEEKNUM por konverti daton al semajna nombro (de 1 ĝis 54)

    La sekva ekrankopio montras kiel vi povas akiri semajnajn nombrojn de datoj kun la plej simpla =WEEKNUM(A2) formulo:

    En la supreformulo, la argumento return_type estas ellasita, kio signifas, ke la defaŭlta tipo 1 estas uzata - la semajno komencanta dimanĉe.

    Se vi preferas komenci per iu alia tago de la semajno, diru lundo, tiam uzu 2. en la dua argumento:

    =WEEKNUM(A2, 2)

    Anstataŭ referenci al ĉelo, vi povas specifi la daton rekte en la formulo uzante la funkcion DATE(jaro, monato, tago), ekzemple:

    =WEEKNUM(DATE( DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) ,4,15), 2)

    La ĉi-supra formulo liveras 16, kio estas la nombro de la semajno enhavanta la 15-an de aprilo DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) , kun semajno komenciĝanta lunde.

    En realaj scenaroj. , la Excel WEEKNUM-funkcio malofte estas uzata memstare. Plej ofte vi uzus ĝin kombine kun aliaj funkcioj por fari diversajn kalkulojn bazitajn sur la semajna nombro, kiel montrite en pliaj ekzemploj.

    Kiel konverti semajnan nombron al dato en Excel

    Kiel vi ĵus vidis, ne gravas ŝanĝi daton en semajnan nombron per la funkcio Excel WEEKNUM. Sed kio se vi serĉas la malon, t.e. konverti semajnan nombron al dato? Ve, ne ekzistas Excel-funkcio, kiu povus fari tion tuj. Do, ni devos konstrui niajn proprajn formulojn.

    Supoze, ke vi havas jaron en ĉelo A2 kaj semajnan nombron en B2, kaj nun vi volas kalkuli la Komencan kaj Findatojn en ĉi tiu semajno.

    Noto. Ĉi tiu formulekzemplo baziĝas sur ISO-semajnaj nombroj, kun semajno komenciĝanta lunde.

    La formulo por redoni la Komencodato de la semajno estas jena:

    =DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) + B2 * 7

    Kie A2 estas la jaro kaj B2 estas la semajna numero.

    Bonvolu noti, ke la formulo liveras la daton. kiel seria numero, kaj por ke ĝi montru ĝin kiel dato, vi devas formi la ĉelon laŭe. Vi povas trovi la detalajn instrukciojn en Ŝanĝi datformaton en Excel. Kaj jen la rezulto redonita per la formulo:

    Kompreneble, la formulo por konverti semajnan nombron al dato ne estas bagatela, kaj eble necesas iom da tempo por akiri via kapo ĉirkaŭ la logiko. Ĉiuokaze, mi faros mian plejeblon por doni signifoplenan klarigon al tiuj, kiuj scivolas malsupreniri.

    Kiel vi vidas, nia formulo konsistas el 2 partoj:

    • DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) . - kalkulas la daton de la lasta lundo en la antaŭa jaro.
    • B2 * 7 - aldonas la nombron da semajnoj multiplikita per 7 (la nombro da tagoj en semajno) por akiri la lundon (komencdaton) de la semajno en demando.

    En la ISO-semajna numera sistemo, semajno 1 estas la semajno enhavanta la unuan ĵaŭdon de la jaro. Sekve, la unua lundo estas ĉiam inter la 29-a de decembro kaj la 4-a de januaro. Do, por trovi tiun daton, ni devas trovi la lundon tuj antaŭ la 5-a de januaro.

    En Microsoft Excel, vi povas ĉerpi tagon de semajno el dato uzante la funkcion WEEKDAY. Kaj vi povas uzi la jenan ĝeneralan formulon por ricevi lundon tuj antaŭ iu ajn dato:

    = dato - SEMAKTAGO( dato - 2)

    Se niafinfina celo estis trovi lundon tuj antaŭ la 5-a de januaro de la jaro en A2, ni povus uzi la sekvajn DATE-funkciojn:

    =DATE(A2,1,5) - WEEKDAY(DATE(A2,1,3))

    Sed tio, kion ni efektive bezonas, ne estas la unua lundo de ĉi-jare, sed prefere la lasta lundo de la antaŭa jaro. Do, vi devas subtrahi 7 tagojn de januaro 5 kaj tial vi ricevas -2 en la unua DATO-funkcio:

    =DATE(A2,1,-2) - WEEKDAY(DATE(A2,1,3))

    Kompare kun la delikata formulo, kiun vi ĵus lernis, kalkulante la Findato de la semajno estas peco :) Por akiri dimanĉon de la koncerna semajno, vi simple aldonu 6 tagojn al la Komenca dato , t.e. =D2+6

    Alternative, vi povus aldoni 6 rekte en la formulo:

    =DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) + B2 * 7 + 6

    Por certigi, ke la formuloj ĉiam liveras la ĝustajn datojn, bonvolu rigardi la jenajn ekrankopio. La formuloj de Komenca Dato kaj Fina Dato diskutitaj supre estas kopiitaj tra kolumnoj D kaj E, respektive:

    Aliaj manieroj konverti semajnan nombron al dato en Excel

    Se la ĉi-supra formulo bazita sur la ISO-semajna dato-sistemo ne plenumas viajn postulojn, provu unu el la sekvaj solvoj.

    Formulo 1. Semajno enhavanta Jan-1 estas semajno 1, Mon-Sun semajno

    Kiel vi memoras, la antaŭa formulo funkcias surbaze de la ISO-datosistemo kie la unua ĵaŭdo de la jaro estas konsiderata semajno 1. Se vi laboras surbaze de datsistemo kie la semajno enhavanta la 1-an de januaro estas konsiderata semajno 1, uzu la jenonformuloj:

    Komenca dato:

    =DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),2) + (B2-1)*7 + 1

    Fina dato:

    =DATE(A2,1,1)- WEEKDAY(DATE(A2,1,1),2) + B2*7

    Formulo 2. Semajno enhavanta Jan-1 estas semajno 1, Sun-Sat semajno

    Ĉi tiuj formuloj similas al ĉi-supraj kun la sola diferenco, ke ili estas skribitaj. por dimanĉo - sabata semajno.

    Komenca dato:

    =DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),1) + (B2-1)*7 + 1

    Fina dato:

    =DATE(A2,1,1)- WEEKDAY(DATE(A2,1,1),1) + B2*7

    Formulo 3. Ĉiam komencu kalkuli la 1-an de januaro, lun-diman semajnon

    Dum la antaŭaj formuloj revenas lundon (aŭ dimanĉon) de la semajno 1, sendepende ĉu se falas ene de ĉi tiu jaro aŭ de la antaŭa jaro, ĉi tiu komencdatoformulo ĉiam resendas januaro 1 kiel la komencdato de semajno 1 sendepende de la semajnotago. Analogie, la findata formulo ĉiam resendas Decembro 31 kiel la findato de la lasta semajno en la jaro, sendepende de la semajnotago. En ĉiuj aliaj rilatoj, ĉi tiuj formuloj funkcias simile al Formulo 1 supre.

    Komenca dato:

    =MAX(DATE(A2,1,1), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),2) + (B2-1)*7 + 1)

    Fina dato:

    =MIN(DATE(A2+1,1,0), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),2) + B2*7)

    Formulo 4. Ĉiam komencu kalkuli la 1-an de januaro, Sun-Sat semajno

    Por kalkuli la komencajn kaj finajn datojn por dimanĉo - sabata semajno, necesas nur unu malgranda alĝustigo en la supraj formuloj :)

    Komenca dato:

    =MAX(DATE(A2,1,1), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),1) + (B2-1)*7 + 1)

    Findato:

    =MIN(DATE(A2+1,1,0), DATE(A2,1,1) - WEEKDAY(DATE(A2,1,1),1) + B2*7)

    Kiel akiri monaton de semajnonumero

    Por ricevi monaton respondan al la semajno nombro, vi trovas la unuan tagon en difinita semajno kiel klarigite en ĉi tioekzemplo, kaj poste envolvu tiun formulon en la funkcio de Excel MONATO tiel:

    =MONTH(DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) + B2 * 7)

    Notu. Bonvolu memori, ke la supra formulo funkcias surbaze de la ISO-semajna datosistemo , kie la semajno komenciĝas lunde kaj la semajno enhavanta la 1-an ĵaŭdon de la jaro estas konsiderata kiel semajno 1. Ekzemple, en la jaro 2016, la unua ĵaŭdo estas la 7-a de januaro, kaj tial la semajno 1 komenciĝas la 4-an-2016.

    Kiel akiri semajnan numeron en monato (de 1 ĝis 6)

    Se via komerca logiko postulas konverti specifan daton al la semajna numero ene de la responda monato, vi povas uzi la kombinaĵon de WEEKNUM, Funkcioj DATO kaj MONATO:

    Suponante, ke ĉelo A2 enhavas la originan daton, uzu la sekvan formulon por semajno komencanta de lundo (rimarku 21 en la argumento return_type de WEEKNUM):

    =WEEKNUM($A2,21)-WEEKNUM(DATE(YEAR($A2), MONTH($A2),1),21)+1

    Dum semajno komencanta je dimanĉo , ellasu la argumenton return_type:

    =WEEKNUM($A2)-WEEKNUM(DATE(YEAR($A2), MONTH($A2),1))+1

    Kiel sumu valorojn kaj trovu mezumon laŭ la semajna nombro

    Nun kiam vi scias kiel konverti daton al semajna nombro en Excel, ni vidu kiel vi povas uzi semajnajn nombrojn en aliaj kalkuloj.

    Supozi. , vi havas kelkajn monatajn vendajn ciferojn kaj vi volas scii la sumon por ĉiu semajno.

    Por komenci, ni eltrovu semajnan nombron respondan al ĉiu vendo. Se viaj datoj estas en kolumno A kaj vendoj en kolumno B, kopiu la =WEEKNUM(A2) -formulon tra kolumno C komencante en ĉeloC2.

    Kaj poste, faru liston de semajnnombroj en iu alia kolumno (diru, en kolumno E) kaj kalkulu la vendojn por ĉiu semajno uzante la jenan SUMIF-formulon:

    =SUMIF($C$2:$C$15, $E2, $B$2:$B$15)

    Kie E2 estas la semajna numero.

    En ĉi tiu ekzemplo, ni laboras kun listo de martaj vendoj, do ni havas semajnajn numerojn 10 ĝis 14, kiel montrite en la sekva ekrankopio:

    Simile, vi povas kalkuli la vendomezumon por difinita semajno:

    =AVERAGEIF($C$2:$C$15, $E2, $B$2:$B$15)

    Se la helpa kolumno kun la formulo WEEKNUM ne bone konvenas al via datuma aranĝo, mi bedaŭras diri al vi, ke ne ekzistas simpla maniero forigi ĝin ĉar Excel WEEKNUM estas unu el tiuj funkcioj. tio ne akceptas gamo-argumentojn. Tial ĝi ne povas esti uzata ene de SUMPRODUCT aŭ ajna alia tabelformulo kiel la funkcio MONATO en simila scenaro.

    Kiel reliefigi ĉelojn surbaze de la semajna numero

    Ni diru, ke vi havas longan liston. de datoj en iu kolumno kaj vi volas reliefigi nur tiujn, kiuj rilatas al difinita semajno. Ĉio, kion vi bezonas, estas kondiĉa formata regulo kun WEEKNUM-formulo simila al ĉi tiu:

    =WEEKNUM($A2)=10

    Kiel pruvite en la ekrankopio malsupre, la regulo elstarigas vendojn kiuj estis faritaj ene de la semajno 10, kio estas la unua semajno en marto DATE(A2, 1, -2) - WEEKDAY(DATE(A2, 1, 3)) . Ĉar la regulo validas por A2:B15, ĝi elstarigas valorojn en ambaŭ kolumnoj. Vi povas lerni pli pri kreado de kondiĉformataj reguloj en ĉi tiolernilo: Excel-kondiĉa formatado bazita sur alia ĉela valoro.

    Jen kiel vi povas kalkuli semajnajn nombrojn en Excel, konverti semajnan nombron al dato kaj ĉerpi semajnan nombron de dato. Espereble, la WEEKNUM-formuloj, kiujn vi lernis hodiaŭ, pruvos utilaj en viaj laborfolioj. En la sekva lernilo, ni parolos pri kalkulado de aĝo kaj jaroj en Excel. Mi dankas vin pro legado kaj esperas vidi vin venontsemajne!

    Michael Brown estas diligenta teknologia entuziasmulo kun pasio por simpligi kompleksajn procezojn uzante programarajn ilojn. Kun pli ol jardeko da sperto en la teknologia industrio, li perfektigis siajn kapablojn en Microsoft Excel kaj Outlook, same kiel Google Sheets kaj Docs. La blogo de Mikaelo estas dediĉita al kunhavigi siajn sciojn kaj kompetentecon kun aliaj, provizante facilajn sekvajn konsiletojn kaj lernilojn por plibonigi produktivecon kaj efikecon. Ĉu vi estas sperta profesiulo aŭ komencanto, la blogo de Mikaelo ofertas valorajn komprenojn kaj praktikajn konsilojn por eltiri la plej multajn el ĉi tiuj esencaj programaj iloj.