2014-06-07 5 views
0

J'ai beaucoup de feuilles dans 1 Excel.Calcul de la moyenne de la plage de valeurs dans une colonne dynamiquement - excel

Feuille 1: une des colonnes de sheet1 ressemble à ceci

separator 
14124 
25362 
32 
32387 
23 
23 
separator 
25 
3263 
33 
2 
separator 
25326 
323 
separator 
623 
2362 
233 
88 
separator 
236523 
32 
23 
2323 
232 
23 
23 
223 
2 

Fondamentalement, une plage de valeurs sont séparées par « séparateur ». Je veux prendre la moyenne des valeurs entre deux "séparateur" et l'imprimer dans une rangée séparée dans sheet2. Je peux sûrement le faire manuellement en mettant en évidence la plage de valeurs, mais je ne veux pas le faire manuellement. La plage des valeurs & l'emplacement peut varier. Est-il possible d'écrire une formule pour détecter le mot "séparateur" & résumer dynamiquement toute la plage de valeurs entre deux séparateurs sans sélectionner la plage de cellules et les imprimer dans une autre ligne dans une autre feuille?

Je peux sûrement écrire un programme en Java parce que c'est ce que je sais. Mais avons-nous besoin de python ou de javascript ici pour cette manipulation? N'a jamais utilisé la manipulation excel en utilisant python etc. Ou pouvons-nous le faire en Excel? Si nous avons besoin de python ou js, quelqu'un peut-il me donner une idée approximative de la façon de faire cela?

Merci :)

Répondre

0

Pour la lecture, vous pouvez utiliser la bibliothèque de pandas géants et sa fonction read_excel: voir pandas documentation.

Notez que vous devez installer le paquet xlrd de pépin

import pandas as pd 
df = pd.read_excel(filename, "Sheet1",header=None,skiprows=0) 

où nom de fichier est excellez nom et « Sheet1 » est le nom de la première feuille dans votre document Excel (il doit être valide nom de la feuille).

D'une façon ou d'une autre, j'ai dû utiliser header = 0 mais cela dépend de la version du fichier Excel. Ainsi, supposons que la sortie résultante (df), ressemble à

 0 
0 separator 
1 25362 
2 32 
3 32387 
4 23 
5 23 
6 separator 
7 25 
8 3263 
... 

Maintenant, pour le fractionnement en fonction du nom de séparation et d'économie dans une nouvelle feuille, il faudrait plus penser et codage ...

une façon d'identifier où est le séparateur est d'utiliser:

df == "separator" 

espérant que c'est un bon point de départ.

+0

oh génial. Merci :) . (J'utilise Macbook) Me recommandez-vous un IDE Python spécifique? Je n'ai jamais utilisé python auparavant. – user3713448

+0

et une autre question. df = pd.read_excel (filename, sheetname) me donnera toutes les données dans un fichier Excel. Comment localiser une colonne spécifique? Et quel est le moyen d'y accéder? Les données sont-elles stockées sous forme de tableau ou de quelque chose? – user3713448

+0

si vous avez un nom de colonne, tapez df [nom_colonne] pour accéder à une colonne ou pour accéder à la colonne 1 (0 en python), tapez df [0] –

Questions connexes