Excel 2010 Array Formula (CSE) (Plage de calcul dynamique); indice? décalage?


1

Cela pourrait être une question facile pour certains mais je suis complètement perdu alors j'apprécierais vraiment toute aide là-bas!

        A      
  1    10
  2    20
  3    30
  4    40
  5    50
  6    60
  7    70
  8    80
  9    90
 10   100

Bien sûr, ma feuille de calcul est bien plus compliquée que le tableau ci-dessus, mais la logique que j'essaie de comprendre est la suivante (en utilisant une formule matricielle):

= SOMME (IF (LEN (A1: A3, A8: A10)> 0,1)) Contrôle + Maj + Entrée Je peux une erreur --- je veux écrire une plage de cellules / une référence qui ignore complètement A4: A7 (40, 50, 60, 70). (Cette virgule ne fonctionne pas lorsqu'il s'agit de combiner 2 plages de cellules divisées.)

Quelqu'un peut-il m'aider à écrire une plage / référence de cellule qui saute la partie centrale du graphique! J'ai l'impression que l'utilisation de OFFSET ou INDEX peut répondre au besoin, mais je suis tellement perdu.


@Clif Vous ne savez pas exactement ce que vous entendez par "le format des données" mais je souhaite fondamentalement que la formule ci-dessus ignore complètement A4: A7. À l'heure actuelle, je ne sais pas comment écrire la plage de cellules qui va partir de A1: A10 mais supprimer A4: A7 entre les deux. La virgule ne fonctionne pas dans ce cas alors ... est-ce que vous connaissez un moyen?
EA1234

@Clif Oh, je vois que ces astérisques sont là simplement pour faciliter le visionnage. Je devrais les enlever pour éviter toute confusion. Merci.
EA1234

1
Ce n’est pas une réponse car ce n’est pas une formule matricielle, et je n’en ai pas proposé une, mais elle peut vous donner quelques idées sur la façon de procéder. Coller =IF(AND(MOD(ROW(),7)>=1,MOD(ROW(),7)<=3),INDIRECT("A"&ROW()),"") dans B1 et copier jusqu'à B10. La somme de la colonne B correspond maintenant à ce que vous voulez, bien que je sache que ce n’est pas ainsi que vous vouliez l’obtenir. Peut-être que quelqu'un verra cela et saura comment l'intégrer à une formule matricielle.
Clif

@Clif Merci pour l'idée - je vais certainement intégrer votre suggestion. J'apprécie beaucoup!
EA1234

Réponses:


1

Eureka! Voici la formule: =SUMPRODUCT(--(MOD(ROW(A1:A10),7)>=1)*--(MOD(ROW(A1:A10),7)<=3)*A1:A10) Le raisonnement va avec ce que vous avez vu lorsque vous avez collé la formule dans mon commentaire à la plage B1: B10. Comme il s’agit d’une fonction SOMMEPROD, vous pouvez simplement appuyer sur ENTER.


Clif, ta formule a fonctionné, merci beaucoup! Si je peux poser une question similaire, connaissez-vous un moyen de connecter simplement 2 plages non contiguës? Par exemple. Connectez A1: A3 et A8: A10 (sautant A4: A7) ??
EA1234

Vous êtes les bienvenus et merci pour l'acceptation. Je ne pense pas qu'il existe un moyen simple de travailler avec des plages non contiguës, ce qui est en quelque sorte renforcé par le nombre de personnes qui ont regardé votre message. Je pense que s'il y avait une manière simple, quelqu'un aurait déjà donné cette réponse. Cependant, quelqu'un peut encore nous éduquer tous les deux. Bonne journée.
Clif

0

Certaines fonctions vous permettent d'utiliser des plages non contiguës, mais en général, les formules de tableau ne sont utilisées que si vous utilisez d'autres critères (comme le numéro de ligne) pour exclure explicitement certaines lignes.

Avec la formule que vous montrez dans la question, c'est-à-dire

=SUM(IF(LEN(A1:A3,A8:A10)>0,1))

Cela, vraisemblablement, est conçu pour compter les cellules non vides dans les plages spécifiées - si c'est tout ce que vous voulez faire, utilisez peut-être COUNTA - qui comptera les cellules non vides ...... et vous pourrez l’appliquer à des plages non contiguës, par ex.

=COUNTA(A1:A3,A8:A10)

Notez que COUNTA comptera également les cellules qui sont remplies avec une "formule vierge".

Si cela ne fait pas ce que vous voulez, veuillez expliquer plus en détail le calcul que vous voulez faire.


Barry, la question et l'exemple de formule ont finalement été utilisés pour poser la question suivante: existe-t-il un moyen de connecter simplement 2 plages non contiguës? Par exemple. Connectez A1: A3 et A8: A10 (sautant A4: A7) ?? Désolé si je vous ai causé une confusion, mais sauriez-vous un chemin?
EA1234
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.