J'ai une feuille Google qui enregistre toutes les soumissions sur mon site Web de divers formulaires de contact. J'ai besoin de savoir combien de fois chaque formulaire de contact a été envoyé et dans quelle semaine il a été envoyé.
Le but est d'avoir une feuille Google qui ressemble à ceci: (Chaque onglet de la feuille Google est le même nom que ces formulaires)
Week Commencing | Number of Submissions
1st July 2019 | 37
8th July 2019 | 7
Les données que je possède ressemblent à ceci: (dans un onglet nommé "données")
form name | date
Custom Printed Premium Gift Boxes | 7/4/2019 12:01:28
Lien vers la feuille Google: https://docs.google.com/spreadsheets/d/1ffOVvGT7CGV3gXR1HP5kp6Pg1JgD40qRjlt6lwwFbo0/edit?usp=sharing
Mes questions:
pour le convertir au 1er jour de chaque numéro de semaine:
=ARRAYFORMULA(IF(LEN(B2:B), VLOOKUP(WEEKNUM(B2:B, 2),
{WEEKNUM(ROW(INDIRECT("A"&DATEVALUE(MIN(B2:B))-7&":"&
DATEVALUE(MAX(B2:B)))), 2),
TEXT(ROW(INDIRECT("A"&DATEVALUE(MIN(B2:B))-7&":"&
DATEVALUE(MAX(B2:B)))), "d. mmmm yyyy")}, 2, 0), ))
pour créer un tableau récapitulatif complet:
=ARRAYFORMULA(QUERY(IF(LEN(B2:B), {VLOOKUP(WEEKNUM(B2:B, 2),
{WEEKNUM(ROW(INDIRECT("A"&DATEVALUE(MIN(B2:B))-7&":"&
DATEVALUE(MAX(B2:B)))), 2),
TEXT(ROW(INDIRECT("A"&DATEVALUE(MIN(B2:B))-7&":"&
DATEVALUE(MAX(B2:B)))), "d. mmmm yyyy")}, 2, 0), A2:A}, ),
"select Col2,Col1,count(Col1)
where Col1 is not null
group by Col1,Col2
label count(Col1)''"))
pour le mettre dans l'onglet correct (avec script - recalcul manuel):
function sheetName() {
return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}
=ARRAYFORMULA(QUERY(QUERY(IF(LEN(data!B2:B),
{VLOOKUP(WEEKNUM(data!B2:B, 2),
{WEEKNUM(ROW(INDIRECT("A"&DATEVALUE(MIN(data!B2:B))-7&":"&
DATEVALUE(MAX(data!B2:B)))), 2),
TEXT(ROW(INDIRECT("A"&DATEVALUE(MIN(data!B2:B))-7&":"&
DATEVALUE(MAX(data!B2:B)))),
"d. mmmm yyyy")}, 2, 0), data!A2:A}, ),
"select Col2,Col1,count(Col1)
where Col1 is not NULL
group by Col1,Col2
label count(Col1)''", 0), "select Col2,Col3 where Col1='"&SHEETNAME()&"'", 0))
le mettre dans l'onglet correct (sans script - saisie manuelle)
=ARRAYFORMULA(QUERY(QUERY(IF(LEN(data!B2:B), {VLOOKUP(WEEKNUM(data!B2:B, 2),
{WEEKNUM(ROW(INDIRECT("A"&DATEVALUE(MIN(data!B2:B))-7&":"&
DATEVALUE(MAX(data!B2:B)))), 2),
TEXT(ROW(INDIRECT("A"&DATEVALUE(MIN(data!B2:B))-7&":"&
DATEVALUE(MAX(data!B2:B)))),
"d. mmmm yyyy")}, 2, 0), data!A2:A}, ),
"select Col2,Col1,count(Col1)
where Col1 is not NULL
group by Col1,Col2
label count(Col1)''", 0), "select Col2,Col3 where Col1='Contact Form'", 0))