Excel関数 逆引き集 | 文字を逆順に並べる → 動的配列

未分類
スポンサーリンク

概要

Excelで「文字列を逆順に並べたい」とき、従来は複雑な関数の組み合わせが必要でした。しかし 動的配列関数 を使えば、文字列を一文字ずつ分解し、並べ替えて再結合することで簡単に逆順を実現できます。Microsoft 365以降で利用できるTEXTSPLITやSEQUENCE、INDEX、TEXTJOINなどを組み合わせるのがポイントです。


基本の使い方

書式例

=TEXTJOIN("",,INDEX(TEXTSPLIT(A1,""),SEQUENCE(LEN(A1),,LEN(A1),-1)))
  • TEXTSPLIT(A1,""):文字列を1文字ずつ分割
  • SEQUENCE(LEN(A1),,LEN(A1),-1):文字数分の配列を逆順で生成
  • INDEX(...,配列):逆順で文字を並べ替え
  • TEXTJOIN("",,…):結合して逆順の文字列を完成

具体例

「Excel」を逆順に並べる

=TEXTJOIN("",,INDEX(TEXTSPLIT("Excel",""),SEQUENCE(LEN("Excel"),,LEN("Excel"),-1)))

結果は「lecxE」。

セル参照で使う

=TEXTJOIN("",,INDEX(TEXTSPLIT(A2,""),SEQUENCE(LEN(A2),,LEN(A2),-1)))

A2が「ABCDE」なら結果は「EDCBA」。

数字列を逆順に並べる

=TEXTJOIN("",,INDEX(TEXTSPLIT(B2,""),SEQUENCE(LEN(B2),,LEN(B2),-1)))

B2が「12345」なら結果は「54321」。


応用テンプレート

空白を含む文字列を逆順に

=TEXTJOIN("",,INDEX(TEXTSPLIT(C2,""),SEQUENCE(LEN(C2),,LEN(C2),-1)))

「Hello World」→「dlroW olleH」。

改行を含む文字列を逆順に

=TEXTJOIN("",,INDEX(TEXTSPLIT(D2,""),SEQUENCE(LEN(D2),,LEN(D2),-1)))

複数行テキストも一文字単位で逆順に並べ替え可能。

部分的に逆順(例えば最初の5文字だけ)

=TEXTJOIN("",,INDEX(TEXTSPLIT(LEFT(E2,5),""),SEQUENCE(LEN(LEFT(E2,5)),,LEN(LEFT(E2,5)),-1))) & MID(E2,6,LEN(E2))

先頭5文字だけ逆順にして残りはそのまま。


よくあるつまずきと対策

TEXTSPLITが使えない場合

古いExcelではTEXTSPLITが使えません。その場合はMID関数とSEQUENCEを組み合わせて一文字ずつ抽出する方法があります。

動的配列に対応していない環境

Microsoft 365以降が必要です。古いバージョンでは配列数式をCtrl+Shift+Enterで確定する必要があります。

空白や特殊文字の扱い

TEXTSPLITは空白や記号も1文字として扱います。意図的に除去したい場合はSUBSTITUTEで前処理を行いましょう。


例題

問題1: A2セルの文字列「ABCDE」を逆順に並べてB2に表示してください。

解答例:

=TEXTJOIN("",,INDEX(TEXTSPLIT(A2,""),SEQUENCE(LEN(A2),,LEN(A2),-1)))

問題2: C2セルの文字列「12345」を逆順に並べてD2に表示してください。

解答例:

=TEXTJOIN("",,INDEX(TEXTSPLIT(C2,""),SEQUENCE(LEN(C2),,LEN(C2),-1)))

問題3: E2セルの文字列「Hello World」を逆順に並べてF2に表示してください。

解答例:

=TEXTJOIN("",,INDEX(TEXTSPLIT(E2,""),SEQUENCE(LEN(E2),,LEN(E2),-1)))

問題4: G2セルの文字列の先頭5文字だけ逆順にして残りはそのままH2に表示してください。

解答例:

=TEXTJOIN("",,INDEX(TEXTSPLIT(LEFT(G2,5),""),SEQUENCE(LEN(LEFT(G2,5)),,LEN(LEFT(G2,5)),-1))) & MID(G2,6,LEN(G2))

問題5: I2セルの複数行テキストを逆順に並べてJ2に表示してください。

解答例:

=TEXTJOIN("",,INDEX(TEXTSPLIT(I2,""),SEQUENCE(LEN(I2),,LEN(I2),-1)))

まとめ

文字列を逆順に並べるには、TEXTSPLITで分解 → SEQUENCEで逆順配列 → INDEXで並べ替え → TEXTJOINで再結合という流れが基本です。動的配列を活用することで、従来の複雑な配列数式よりも直感的に書けるようになりました。講師として強調したいのは「動的配列を使えば文字列操作が一気にシンプルになる」という点です。これを覚えれば、Excelでの文字列処理がさらに自在になります。

タイトルとURLをコピーしました