Extension intuitive sur les fonctions
Bonjour,
j'utilise un beau set de données pour du calcul de production solaire.
Je récupères plusieurs dizaines de milliers de lignes de relevés sous un format csv, sous la forme (un peu pénible) :
[...]
20140101:0510 0.00
20140101:0610 0.00
20140101:0710 0.00
20140101:0810 210.24
20140101:0910 660.54
[...]
Le séparateur en ":" pour la date et l'heure n'aide pas, mais bon.
Donc tout est en ligne, de 2005 à 2016, par incrément d'une heure.
Sauf que dans ma feuille de calcul je transpose ces valeurs en ligne, sous la forme :
0510 0610 0710
1 0.00 0.00 0.00
2 0.00 0.00 0.00
[...]
(les indentations ne sont les bonnes ici)
J'ai donc utiliser la fonction de transposition, comme cela :
=TRANSPOSE('sheetABC'!B2:B25)
=TRANSPOSE('sheetABC'!B26:B49)
=TRANSPOSE('sheetABC'!B50:B73)
Sauf qu'en faisant comme ça, il faudrait rentrer à la main les (365*11*30=) 120450 lignes : impossible.
J'ai voulu utiliser la propagation intelligente de fonction, mais ça réagit comme suit :
=TRANSPOSE('sheetABC'!B2:B25)
=TRANSPOSE('sheetABC'!B26:B49)
=TRANSPOSE('sheetABC'!B50:B73)
=TRANSPOSE('sheetABC'!B39:B62)
=TRANSPOSE('sheetABC'!B63:B86)
=TRANSPOSE('sheetABC'!B87:B110)
La suite n'est pas logique.
Comment puis-je procéder pour que la suite soit logique ?
a+
Salut,
suis toujours bloqué,
si quelqu'un a un tricks, un tips, une idée, une astuce, un cheat code ...
Please.
Oyé,
une bonne âme pour me venir en aide siouplaît ?
a+
Hello B&B
Ce problème est intéressant...
Je voudrais bien aider, mais il faudrait un exemple concret,
avec des données d'entrées et le résultat attendu (quelques lignes suffisent).
Soit un partage public de sheet soit un extract excel.
Merci, à bientôt
EMX
Salut Exacel,
pas sûr que le contenu des données ait une importance, mais si tu veux une mise en situation :
Echantillon sur le premier sheet ('sheetABC').
time G(i)
20140101:0010 0.00
20140101:0110 0.00
20140101:0210 0.00
20140101:0310 0.00
20140101:0410 0.00
20140101:0510 0.00
20140101:0610 0.00
20140101:0710 0.00
20140101:0810 210.24
20140101:0910 660.54
20140101:1010 855.01
20140101:1110 791.36
20140101:1210 795.09
20140101:1310 677.51
20140101:1410 439.62
20140101:1510 34.53
20140101:1610 0.00
20140101:1710 0.00
20140101:1810 0.00
20140101:1910 0.00
20140101:2010 0.00
20140101:2110 0.00
20140101:2210 0.00
20140101:2310 0.00
20140102:0010 0.00
20140102:0110 0.00
20140102:0210 0.00
20140102:0310 0.00
20140102:0410 0.00
20140102:0510 0.00
20140102:0610 0.00
20140102:0710 0.00
20140102:0810 17.98
20140102:0910 42.81
20140102:1010 33.39
20140102:1110 217.71
20140102:1210 104.81
20140102:1310 204.07
20140102:1410 274.17
20140102:1510 24.55
20140102:1610 0.00
20140102:1710 0.00
20140102:1810 0.00
20140102:1910 0.00
20140102:2010 0.00
20140102:2110 0.00
20140102:2210 0.00
20140102:2310 0.00
20140103:0010 0.00
20140103:0110 0.00
20140103:0210 0.00
20140103:0310 0.00
20140103:0410 0.00
20140103:0510 0.00
20140103:0610 0.00
20140103:0710 0.00
20140103:0810 23.97
20140103:0910 46.23
20140103:1010 37.67
20140103:1110 129.32
20140103:1210 114.25
20140103:1310 105.23
20140103:1410 59.93
20140103:1510 31.46
20140103:1610 0.00
20140103:1710 0.00
20140103:1810 0.00
20140103:1910 0.00
20140103:2010 0.00
20140103:2110 0.00
20140103:2210 0.00
20140103:2310 0.00
20140104:0010 0.00
20140104:0110 0.00
20140104:0210 0.00
20140104:0310 0.00
20140104:0410 0.00
20140104:0510 0.00
20140104:0610 0.00
20140104:0710 0.00
20140104:0810 23.97
20140104:0910 26.54
20140104:1010 29.97
20140104:1110 47.95
20140104:1210 47.95
20140104:1310 35.10
20140104:1410 35.10
20140104:1510 6.14
20140104:1610 0.00
20140104:1710 0.00
20140104:1810 0.00
20140104:1910 0.00
20140104:2010 0.00
20140104:2110 0.00
20140104:2210 0.00
20140104:2310 0.00
20140105:0010 0.00
20140105:0110 0.00
20140105:0210 0.00
20140105:0310 0.00
20140105:0410 0.00
20140105:0510 0.00
20140105:0610 0.00
20140105:0710 0.00
20140105:0810 471.44
20140105:0910 717.25
20140105:1010 787.85
20140105:1110 722.12
20140105:1210 725.46
20140105:1310 655.30
20140105:1410 512.29
20140105:1510 30.69
20140105:1610 0.00
20140105:1710 0.00
20140105:1810 0.00
20140105:1910 0.00
20140105:2010 0.00
20140105:2110 0.00
20140105:2210 0.00
20140105:2310 0.00
20140106:0010 0.00
20140106:0110 0.00
20140106:0210 0.00
20140106:0310 0.00
20140106:0410 0.00
20140106:0510 0.00
20140106:0610 0.00
20140106:0710 0.00
20140106:0810 39.75
20140106:0910 202.93
20140106:1010 139.54
20140106:1110 174.72
20140106:1210 744.24
20140106:1310 392.80
20140106:1410 510.38
20140106:1510 28.39
20140106:1610 0.00
20140106:1710 0.00
20140106:1810 0.00
20140106:1910 0.00
20140106:2010 0.00
20140106:2110 0.00
20140106:2210 0.00
20140106:2310 0.00
Ce que je veux dans le sheet de calcul :
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 210.24 660.54 855.01 791.36 795.09 677.51 439.62 34.53 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17.98 42.81 33.39 217.71 104.81 204.07 274.17 24.55 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 23.97 46.23 37.67 129.32 114.25 105.23 59.93 31.46 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 23.97 26.54 29.97 47.95 47.95 35.10 35.10 6.14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 471.44 717.25 787.85 722.12 725.46 655.30 512.29 30.69 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 39.75 202.93 139.54 174.72 744.24 392.80 510.38 28.39 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Le code qui fonctionne :
=TRANSPOSE('sheetABC'!B2:B25)
=TRANSPOSE('sheetABC'!B26:B49)
=TRANSPOSE('sheetABC'!B50:B73)
=TRANSPOSE('sheetABC'!B74:B97)
=TRANSPOSE('sheetABC'!B98:B121)
=TRANSPOSE('sheetABC'!B122:B145)
Mais, j'ai du créer les fonctions transpose une par une car une utilisation de la "poignée de recopie" (apparemment ça s'appelle comme ça), créé une suite illogique. Or, je vais pas le faire pour les 11 années sur chaque heure, bien sûr ...
Dis-moi si t'as une astuce !
A+
Bjr
Merci pour les données, même s'il a fallu les remettre en format sheet pour travailler.
On comprend tout de suite bcp mieux le problème.
En retour j'ai partagé ma copie, il y a 3 solutions, plus ou moins proches de tes premiers essais.
C'est par ici :
Avec un peu d'investissement et de réappropriation ça devrait t'apporter des solutions pour poursuivre le projet.
A dispo si souci...
EMX
Ooooh, ça fait plein de solution ; que j'aurais mis beaucoup de temps à trouver seul ...
Merci beaucoup ! Je travaille sur ces éléments de code et je reviens dire si tout est OK.
a+
Salut,
je tente ma chance sur différents canaux ! J'ai temporisé un peu trop longtemps ce travail et je suis en train de me replonger dedans, et les liens que tu m'avais fourni ont apparemment disparu... Si tu peux les remettre ça serait super chouette.
Merci !
a+
Ouh, c'est de l'affaire ancienne tout ça.
Voici ce que j'ai retrouvé :
https://docs.google.com/spreadsheets/d/1kxoFMemyYQdAdCAxtbuJrCoBWpNH2RD78l6jFqHUfzw/edit?usp=sharing
Tjs à l'écoute si tu as besoin de +
Salut Exacel,
c'est parfait, j'ai mis à jour mon "calcultateur", j'ai maintenant une automatisation du rechargement d'un système de batterie, en solaire, en fonction de la surface production, ainsi que du relevé CMSAF d'ensoleillement des 15 dernières années à des coordonnées GPS précises, avec des limites hautes et basses de décharge, avec en plus une charge électrique associée horaire, le tout avec la production d'un graphe : le nec plus ultra.
Je dois avouer que google sheet est vraiment un excellent logiciel, très intuitif. Enfin sauf pour la formule "transpose" que tu m'as envoyé, que je n'aurais jamais trouvé seul !
Merci infiniment.