Pourquoi SI(SEQUENCE(4);”On répète 4 fois”) fonctionne dans excel?

Propager un élément plusieurs fois avec SI et SEQUENCE

=SI(SEQUENCE(4);"On répète 4 fois")

En fait, tout ce qui est numérique et différent de 0 est "vrai" pour Excel.

Ça se démontre facilement ici :

De fait, si on incorpore SEQUENCE(4) dans un SI, c'est comme si on incorporait 4 fois le résultat "vrai". De fait, ca nous génère 4 lignes.

On peut donc créer une plage propagée très simplement.

Note : le fait que tout numérique différent de 0 est égal à vrai est aussi utilisé pour simuler un OU dans une expression du style (...=...)+(...=...) qu'on peut utiliser avec les fonctions FILTRE ou SOMMEPROD.

A quoi ça sert?

En plus du cas classique qui consiste à recopier un même élément plusieurs fois, vous pouvez aussi dupliquer chaque élément d'une liste plusieurs fois :

=REDUCE("Période";{"a";"z";"b"};LAMBDA(_accu;_val;ASSEMB.V(_accu;SI(SEQUENCE(4);_val))))

qui nous donne

Et sur le même principe :

=REDUCE("Période";SEQUENCE(4);LAMBDA(_ac;_v;ASSEMB.V(_ac;{"a";"z";"b"})))

Pour obtenir

Évidemment, vous pouvez changer le 4 pour ce que vous voulez, et le {"a";"z";"b"} par une référence de plage ou par {1;2;3}

Pour aller plus loin et voir quelques variations complémentaires sur ces mega-formules :