2026/01/20
【Excel】1つの数式でセル結合を解除

【Excel】1つの数式でセル結合を解除

以下の画像のように、一部のセルが結合された表を、たった1つの数式(黄色のセル)で、セルの結合を解除して抽出する方法について紹介していきます。


セル結合を解除して抽出する数式

こちらでは、以下の左側の「セルの結合を含む表」から、セルの結合を含まない状態で右側の表に抽出していきます。

数式に使う関数は、SCAN関数です。
SCAN関数は、指定した範囲のそれぞれの値に対して、1つ前に処理した値を活用し、さらに処理を行った結果を返します。

まずは、先頭の「大カテゴリー」をセルの結合を含まない状態で抽出する場合、SCAN関数を用いて、以下の法則で抽出する必要があります。

大カテゴリーの先頭のセルから順番に確認し、
・セルが空でない場合は、そのまま値を抽出
・セルが空の場合は、1つ前に抽出した値を抽出

これを数式で表現すると、以下のようになります。

=SCAN("",B3:B11,LAMBDA(a,b,IF(b<>"",b,a)))
// "":初期値に、最初の値に関しては1つ前に抽出した値が存在しないため「空」を指定
// B3:B11:処理対象の範囲に、「大カテゴリーの範囲」を指定
// LAMBDA(a,b,IF(b<>"",b,a):処理の内容に、「LAMBDA関数」を指定
// → LAMBDA(1つ前に抽出した値[1], 確認対象の値[2], [1]と[2]を用いた数式)

数式を入力することで、以下のように抽出することができます。

他の項目に関して、単純に「B3:B11(大カテゴリー)」の範囲を広げれば抽出できそうに思えますが、実際は、以下のように上手くいきません。

=SCAN("",B3:D11,LAMBDA(a,b,IF(b<>"",b,a)))

この原因は、SCAN関数が処理する順番にあります。
SCAN関数は、指定された範囲の先頭行の先頭列から隣の列へと処理をします。
そのため、SCAN関数を用いて複数列の範囲を指定する場合は、行と列の値を入れ替える必要があります。

それを実現するには、TRANSPOSE関数を活用します。
SCAN関数に指定する範囲をTRANSPOSE関数で囲って、以下のように指定します。

=SCAN("",TRANSPOSE(B3:D11),LAMBDA(a,b,IF(b<>"",b,a)))

ただ以下のように、処理した結果も行と列の値が入れ替わってしまいます。

そのため、SCAN関数自体もTRANSPOSE関数で囲って、以下のように指定します。

=TRANSPOSE(SCAN("",TRANSPOSE(B3:D11),LAMBDA(a,b,IF(b<>"",b,a))))

これで完成です。
以下のように、セルの結合を解除して抽出することができます。

2026/01/16
【Excel】カレンダーで予定がある日のみ自動色付け

【Excel】カレンダーで予定がある日のみ自動色付け

スケジュール表に予定が入力されている日付を、カレンダーに自動で色付けする方法について紹介していきます。

以下の例では、予定がある日付が黄色で色付けされています。

※こちらで作成したファイルは、記事の最後にて配布しています。

ExcelVBAレベル確認

1. 準備

以下のようなシートを用意します。

今回の設定を1度行えば、年月日を変更しても活用することができます。
日付の「年、月、日」が入力されているセルには、それぞれの値を表す数値のみが入力されています。

こちらでは、同じシート上に、カレンダーとスケジュール表を用意していますが、必要に応じて別のシートに分けても実現できます。

ExcelVBAレベル確認

2. 色付けする条件

では次に、カレンダーを色付けする条件を具体的にしていきます。

まずは、1日を色付けするかどうかを判定する条件について考えていきます。
カレンダーの1日のセルH4を色付けするときは、J列の1日の行のL列の予定に何かしら値が入力されているときです。

カレンダーのセルやスケジュール表のセルは、日によって異なります。
1つ1つのセルに条件付き書式を個別に設定するのは大変なので、共通で使える条件を考える必要があります。

その条件は、以下になります。

スケジュール表の日付の中で、カレンダーの対象セルの値と一致し、尚且つ、スケジュール表の対象行の予定に何かしら値が入力されている場合

この内容を数式で表現すると、以下のようになります。

=COUNTIFS(J4:J34,B4,L4:L34,"<>")
// ★カレンダーのセルB4を色付けするかどうかの条件
// J4:J34の中でB4の値と一致した行のL列が空でない場合
// 上記の条件を満たしているデータの件数を返す
// → 対象がない場合は結果が「0」になる

3. 条件付き書式の設定

次に、先ほどの以下の条件式を元に、条件付き書式に設定していきます。

=COUNTIFS(J4:J34,B4,L4:L34,"<>")
// ★カレンダーのセルB4を色付けするかどうかの条件
// J4:J34の中でB4の値と一致した行のL列が空でない場合
// 上記の条件を満たしているデータの件数を返す
// → 対象がない場合は結果が「0」になる

上記の数式のように、結果が「TRUE/FALSE」でない数値の場合、結果が「0」ならFALSE、「0以外」ならTRUE扱いになります。

まずは、カレンダーの日付の範囲を全て選択し、[ホーム]タブの中から[条件付き書式]の[新しいルール]を選択します。

条件付き書式の設定画面にて、[ルールの種類]を[数式を使用して、書式設定するセルを決定]を選択します。

表示されたテキストボックスに、先ほどの条件式を入力するのですが、注意点があります。
入力した条件式は、選択基準のセルを軸に、他の範囲に相対参照で反映されます。

以下のように、セルB4を基準に選択している場合は、先ほどの条件式が使えるのですが、他の範囲には正しく反映されません。

=COUNTIFS(J4:J34,B4,L4:L34,"<>")

正しく反映させるためには、スケジュール表の範囲を以下のように固定する必要があります。

=COUNTIFS($J$4:$J$34,B4,$L$4:$L$34,"<>")
// $J$4:$J$34:スケジュール表の日付の範囲(絶対参照)
// B4:カレンダーの基準のセル(相対参照)
// $L$4:$L$34:スケジュール表の予定の範囲(絶対参照)

上記の条件式を設定画面に入力し、[書式]より「条件を満たしたときに反映させる書式」を指定します。
以下の画面では、[塗りつぶし]タブから黄色を指定しています。

上記の設定で確定することで、完成です。


4. 完成

以下のように、予定が入力されているカレンダーの日付のみ色付けされることが確認できます。

年月日に関しては、必要に応じて変更していただけます。

▼サンプルファイル▼

2026/01/13
【Excel】「文字列の数字」の警告を非表示にする方法

【Excel】「文字列の数字」の警告を非表示にする方法

セルの表示形式を「文字列」にしているときに、数字のみを入力すると、以下のように「緑の警告」が表示されます。

これは、数値ではなく文字列として数字が入力されているときに表示されます。
ただ、意図的に文字列として数字を入力している場合は、このような警告は不要です。

ということで、「文字列の数字」の警告を非表示にする方法について2通り紹介します。

ExcelVBAレベル確認

警告を非表示にする方法1

まずは、1つ目の方法を紹介します。

警告が表示されているセルが先頭になるように、警告を非表示にしたい範囲全体を選択します。

そうすると、左上に「注意マークのアイコン」が表示されるため、アイコンをクリックし、「エラーを無視する」を選択します。

これだけで、選択範囲内の警告がすべて非表示になります。

ただ、この方法の場合、編集すると警告が再度表示されます。

ExcelVBAレベル確認

警告を非表示にする方法2

次は2つ目の方法、この方法の場合は、今後一切表示されなくなります。
(本設定を行っていない他の環境では表示される可能性があります。)

[ファイル]タブを選択し、[オプション]を選択します。

次に、[数式]の中の[エラー チェック ルール]から[文字列形式の数値、またはアポストロフィで始まる数値]のチェックを外します。

以上の設定にすることで、常に警告が非表示になります。

ExcelVBAレベル確認

まとめ

文字列の数字は、SUM関数などで集計することができません。
そのため、標準では警告が表示される仕様になっています。

2つ目の方法では、文字列の数字に気付くことが難しくなるため、基本は1つ目の方法がおすすめになります。

2026/01/09
【Excel】効率的に役割を割り当てる設定

【Excel】効率的に役割を割り当てる設定

1人1つの役割で、役割ごとに必要な人数が決まっている場合、以下の表のようだと、どこに何人割り当てたのかが分かりづらく、誤った割り当てにも気づきにくいです。

そこで今回は、1つ1つ割り当てると同時に、重複入力や人数超過の可能性のある項目が自動で色付けされる仕組みの作り方について紹介します。

※こちらで作成したファイルは、記事の最後にて配布しています。


1. 実現方法

値を入力すると同時に、ある条件を満たしたセルを色付けするには『条件付き書式』を活用します。
単純な条件でない場合は「色付けする条件」を数式で表現して、条件付き書式に設定する必要があります。


2. 条件式の用意

まずは、特定のセルについて、色付けする条件を考えていきます。

例えば、セルC4の場合、

このセルを色付けする必要があるときは、以下の複数の条件を満たしたときになります。

・セルC4は空
・C列(セルC4~C13)に入力されている値の数がセルC3の必要人数を満たしている、もしくは、4行目(セルC4~G4)のいずれかに値がすでに入力されている

この複数の条件を数式で表現すると、以下のようになります。

=AND(C4="",OR(COUNTA(C4:C13)>=C3,COUNTA(C4:G4)>=1))

他のセルについても考えると、以下のようになります。

【セルC5】

=AND(C5="",OR(COUNTA(C4:C13)>=C3,COUNTA(C5:G5)>=1))

【セルC6】

=AND(C6="",OR(COUNTA(C4:C13)>=C3,COUNTA(C6:G6)>=1))

【セルD4】

=AND(D4="",OR(COUNTA(D4:D13)>=D3,COUNTA(C4:G4)>=1))

【セルD5】

=AND(D5="",OR(COUNTA(D4:D13)>=D3,COUNTA(C5:G5)>=1))

ここから分かることは、必要人数を確認する範囲の行番号、各行の値の有無を確認する範囲の列名は、以下のように「$」で固定する必要があるということです。

=AND(C4="",OR(COUNTA(C$4:C$13)>=C$3,COUNTA($C4: $G4)>=1))
ExcelVBAレベル確認

3. 条件付き書式の設定

作成した以下の数式は、セルC4を基準にした条件式です。

=AND(C4="",OR(COUNTA(C$4:C$13)>=C$3,COUNTA($C4: $G4)>=1))

そのため、セルC4を基準にした色付けする可能性のある範囲(入力欄)を選択します。

次に、[ホーム]タブから[条件付き書式]の[新しいルール]を選択します。

条件付き書式の設定画面にて、[ルールの種類]を[数式を使用して、書式設定するセルを決定]にし、テキストボックス内に先ほどの条件式を入力します。

次に、[書式]の[塗りつぶし]タブから色付けする色を指定します。

上記のように設定して、確定することで完成です。


4. 完成

以下のように、役割を割り当てると同時に、割り当て済みの範囲が自動で色付けされます。

必要に応じて、ドロップダウンリストなどで値を入力しやすくすると良いです。

▼サンプルファイル▼

2026/01/06
【Excel】覚えるべき「日付を求める関数」2選

【Excel】覚えるべき「日付を求める関数」2選

指定した日付、もしくは年月から「月末・翌月末・1日の日付」を求める際に役立つ便利な関数を2つ紹介していきます。


DATE関数

1つ目は「DATE関数」、この関数は指定した年月日から日付形式に変換することができる関数です。

=DATE(年,月,日)

また、月と日の「桁上がり・桁下がり」にも対応しているため、以下のように「月末・翌月末・1日の日付」を求めることができます。

【月末】

=DATE(C2,C3+1,0)
// 翌月の0日 → 当月末

【翌月末】

=DATE(C2,C3+2,0)
// 翌々月の0日 → 翌月末

【1日】

=DATE(C2,C3,1)
// 指定した年月の1日

EOMONTH関数

2つ目は「EOMONTH関数」、この関数は指定した日付から指定した月後の月末を取得できる関数です。

=EOMONTH(日付,月)

以下のように「月末・翌月末・1日の日付」を求めることができます。

【月末】

=EOMONTH(B3,0)
// 指定日の0か月後の月末

【翌月末】

=EOMONTH(B3,1)
// 指定日の1か月後の月末

【1日】

=EOMONTH(B3,-1)+1
// 指定日の1か月前の月末の翌日 → 当月1日

まとめ

DATE関数は「年月が分かれている場合」に、EOMONTH関数は「日付がすでにある場合」に使いやすい関数です。

特にDATE関数は、月と日の「桁上がり・桁下がり」にも対応しているため、カレンダーを作成する際に役立ちます。

2025/12/30
【Excel】TRIM参照を使って表を縦に結合

【Excel】TRIM参照を使って表を縦に結合

以下のオレンジ色の見出しの表は、青色の見出しの2つの表を縦に繋げたものです。

実はこれ、最新の参照方法「TRIM参照」を活用して、1つの数式、1つの関数のみで実現しています。
このように、TRIM参照を使った表を縦に繋げる方法について紹介していきます。


1. 表を縦に繋げる

指定した範囲の表を縦に繋げるには、「VSTACK関数」が便利です。
しかし、以下のように表の範囲全体を指定してしまうと、空のセルまで抽出されてしまいます。

=VSTACK(B4:C16,E4:F16)

最新の参照方法「TRIM参照」を使わずに空のデータを除外するには、FILTER関数などを組み合わせる必要があります。

=VSTACK(FILTER(B4:C16,B4:B16<>""),FILTER(E4:F16,E4:E16<>""))

ただ、数式が複雑かつ長くなってしまいます。


2. TRIM参照の活用

では、「TRIM参照」を活用します。
TRIM参照とは、“指定した範囲の末尾の空白セルを除外する” という新しい参照方法です。
TRIM参照についての詳しい解説は、以下の記事を参考してください。

>TRIM参照とは

TRIM参照を活用した数式は以下になります。

=VSTACK(B4:.C16,E4:.F16)

最初の数式との違いは、「:」の後に「.」があるかないかです。
「:」の後に「.」を加えることで、指定した表の末尾の空白セルを除外し、以下のように抽出することができます。


まとめ

TRIM参照は、空白セルを除外する数式(FILTER関数やIF関数などを活用した数式)を使わずに、簡単に除外できる便利な参照方法です。
使う場面は少ないかもですが、「知っておいて損はない」新しい参照方法になります。

2025/12/26
【Excel】特定の条件を満たしたときにメッセージを表示

【Excel】特定の条件を満たしたときにメッセージを表示

特定の条件を満たしたときにメッセージを表示する例として、こちらでは以下のように、金曜日の勤怠を登録するときに「終業時刻」を入力したときのみ、メッセージを表示する方法について紹介します。

※こちらで作成したファイルは、記事の最後にて配布しています。


メッセージの表示方法

メッセージを表示するには「データの入力規則」を活用します。
データの入力規則というと、セルへの入力制限を設ける機能というイメージがありますが、実は単純にメッセージを表示したいときにも活用できます。

今回の場合、以下の表の「終業時刻」の項目がメッセージを表示する可能性のある対象になります。

そのため、「終業時刻」の範囲を選択して、[データ]タブから[データの入力規則]を選択します。

表示される以下の設定画面にて、まずは入力制限を行うのではなく、メッセージを表示する設定をします。

特定の条件を満たしたときに、メッセージを表示するには、[エラー メッセージ]タブにて、[スタイル]を[情報]にします。
そして、表示したいメッセージを[タイトル]と[エラー メッセージ]のテキストボックスに入力します。

これだけで、メッセージの設定は完了です。
後は、[設定]タブにて、メッセージを表示する条件を設定するだけです。

ExcelVBAレベル確認

条件の設定

今回、メッセージを表示する条件は「金曜日の勤怠を登録したとき」になります。
具体的には、「入力したセルと同じ行のA列の日付が金曜日のとき」です。
それを、以下の[設定]タブにて設定していきます。

今回のような、他のセルの値を参照した条件を指定するには、[入力値の種類]を[ユーザー設定]にし、[数式]に条件を指定します。

[数式]に指定する条件は、選択基準のセルに対しての条件になります。
上記の場合は、セルC2が選択基準なので、「A2に入力されている日付が金曜日の場合」という条件になります。

ただ注意しないといけないのは、[数式]に設定した条件は、正しくは「メッセージを表示しないとき」の条件になります。
そのため、設定する条件は、「A2に入力されている日付が金曜日の場合」ではなく「A2に入力されている日付が金曜日でない場合」になります。
この条件を数式で表現すると、以下のようになります。

=WEEKDAY(A2)<>6
// WEEKDAY(A2):指定した日付の曜日を1(日)~7(土)の数値で返す
// <>6:上記の結果が6でないとき=金曜日でないとき

この条件式を[数式]に入力します。

他の選択範囲には、相対参照で反映されます。
セルC3には「A3に入力されている日付が金曜日でない場合」といった感じです。

これで確定することで完成です。


完成

A列の「日付」の項目に入力した日付が「金曜日以外」の場合は、C列の「終業時刻」の項目に値を入力しても、メッセージは表示されません。

A列の「日付」の項目に入力した日付が「金曜日」の場合は、C列の「終業時刻」の項目に値を入力して確定すると同時に、以下のようにメッセージが表示されます。

メッセージの[OK]を選択すると、メッセージが消えて入力が確定します。

▼サンプルファイル▼

2025/12/23
【Excel】今日の日付の「列」を自動色付け

【Excel】今日の日付の「列」を自動色付け

以下のような、横向きに日付が並んでいる表で、ファイルを開いたときの「当日の日付」の列を自動で色付けする方法について紹介します。


事前準備

今回は、以下のように、3行目に日付が入力されている表で実現していきます。
※表示形式で「日」のみを表示しています。

F列以降は、前の列の日付を基準に「1」を加えた日付を数式で求めて表示しています。


条件付き書式1

では、ファイルを開いた当日の日付の列を自動で色付けする仕組みを実現していきます。
特定の条件を満たしたセルの書式を自動で変更する場合、「条件付き書式」を活用します。

まずは、色付け対象の範囲を選択し、[ホーム]タブの[条件付き書式]から[新しいルール]を選択します。

表示される設定画面にて、以下の設定をします。

ルールの種類:数式を使用して、書式設定するセルを決定
数式(条件式):=E$3=TODAY()
※E3は選択基準のセルのアドレスで、常に3行目を確認する必要があるため、3の手間に「$」を加えて固定する

次に、[書式]を選択し、表示される設定画面の[罫線]タブにて、左右の罫線を赤色にします。

以上の設定で確定することで、対象の日付の列の罫線が色付けされます。


条件付き書式2

先ほどの設定で完成ではありますが、若干、色付けされた罫線が分かりづらいので、日付のセル(2行目から4行目)を色付けしてみます。

選択範囲を2行目から4行目のみにし、先ほどと同じ設定をします。
最後の[書式]のみ、[塗りつぶし]タブから薄い緑を選択します。

以上の設定で確定することで、対象の日付のセル(2行目から4行目)も色付けされます。

2025/12/16
【Excel】Python in Excelでクロス表を1行1データに変換

【Excel】Python in Excelでクロス表を1行1データに変換

「Python in Excel」という機能を使って、以下のように、クロス表(マトリックス表)を1行1データの表形式にリアルタイムで変換する方法について紹介します。


1. テーブルに変換

まずは、変換元の表(クロス表)をテーブルにします。
※テーブルにしなくても変換できますが、データの増減にも対応させる場合は、テーブルにした方がよいです。

※こちらでは、テーブル名を「売上表」にしています。

ExcelVBAレベル確認

2. 数式の入力

次に、変換した表を表示する先頭のセルを選択し、「=py」と入力してTabキーを押します。

これで、セルにPythonのコードが入力できるようになります。

次に、以下のコードを入力します。

df=xl("売上表[#すべて]", headers=True)
df.melt(id_vars="商品名",var_name="月",value_name="数量")

以上のコードでは、テーブル(売上表)の内容をデータフレームに格納し、そのデータフレームの「melt」という機能を活用して、変換したい1行1データの表形式の情報を指定しています。

変換結果はデータフレームとして返ってくるため、「Ctrlキーを押しながらEnterキー」で確定すると、以下のように「DataFrame」と表示されます。

最後に、データフレームの内容をセルに展開するために、「数式バーの隣のアイコンを[Excelの値]に変更」もしくは「Ctrlキー+Shiftキー+Altキー+Mキー」を押します。

以上の手順で、以下のように1行1データの表形式で表示されます。

2025/12/12
【Excel】文章から特定の値を表形式で抽出

【Excel】文章から特定の値を表形式で抽出

以下のように、メールなどで送られてきた文章(B2:D16)から特定の値を表形式で抽出(F3:G7)する方法について紹介していきます。


簡易的な文章から表形式で抽出

元々の文章が以下の内容の場合、抽出対象(商品名:数量)以外にも不要な文章が含まれています。(赤文字)

〇〇様

お世話になっております。
今月の弊社商品在庫状況を以下の通りご報告いたします。


サウンドビー:5
タイムウォッチ:8
タブレットプロ:15
ビートスタジオ:6
ペンマスター:18

ご確認のほど、よろしくお願いいたします。
何かご不明点や追加のご要望がございましたら、お気軽にお知らせください。

そのため、まずは抽出対象の文章のみをシートに貼り付けて、そこから表形式になるように数式で抽出していきます。

文章を表形式で抽出する場合、抽出するルールを決める必要があります。
今回の場合は、以下のようなルールになります。

・「:」で列を区切る
・「(改行)」で行を区切る

このルール通りに抽出するためには、TEXTSPLIT関数を活用します。
実際に活用した数式は、以下になります。

=TEXTSPLIT(B2,":",CHAR(10))
// B2:抽出元の文章が入力されたセル
// ":":列の区切り文字
// CHAR(10):行の区切り文字(改行はCHAR関数を用いて表現)

上記の数式を抽出先の表の先頭セル(E3)に入力することで、以下のように表形式で抽出することができます。

とはいえ、メールなどの文書から特定の文章を毎回抽出するのは面倒です。
そのため、文章を全て貼り付けるだけで、対象の値を表形式で抽出する方法についても紹介していきます。


本文全体から対象のみを表形式で抽出

本文全体が以下のようにパターン化している場合(赤文字)は、簡単な数式を加えるだけで、対象の範囲の抽出までを自動で行うことができます。

〇〇様

お世話になっております。
今月の弊社商品在庫状況を以下の通りご報告いたします。


サウンドビー:5
タイムウォッチ:8
タブレットプロ:15
ビートスタジオ:6
ペンマスター:18

ご確認のほど、よろしくお願いいたします。
何かご不明点や追加のご要望がございましたら、お気軽にお知らせください。

まずは、この本文のままシートに貼り付けて、先ほどの数式で抽出してみます。

=TEXTSPLIT(B2,":",CHAR(10))

そうすると、以下の赤枠の箇所が不要になります。

抽出された表の上から5行、下から3行が不要になるので、この不要な行を数式で除外します。

表から不要な行を除外する場合、DROP関数を活用すると良いです。
実際に活用した数式は、以下になります。

=DROP(DROP(TEXTSPLIT(B2,":",CHAR(10)),5),-3)
// DROP(…,-3):「…」の末尾から3行を除外
// DROP(…,5):「…」の先頭から5行を除外

上記の数式を抽出先の表の先頭セル(E3)に入力することで、以下のように不要な行を除外した表形式で抽出することができます。

2025/12/09
【Excel】オンライン会議で使える拡大機能

【Excel】オンライン会議で使える拡大機能

オンライン会議などでExcel画面を共有しているときに、「文字が小さくて見えません」と言われたことはありませんか?
だからと言って、拡大しながら画面を操作するのは大変ですよね。

今回は、見せたい範囲を瞬時に拡大(ズーム)することができる機能を紹介します。


選択範囲に合わせて拡大/縮小

見せたい範囲を瞬時に拡大するときに便利な機能、それは「選択範囲に合わせて拡大/縮小」です。

まずは、見せたい範囲を以下のように選択します。

特定の項目のみを見せたいときは、その列全体を選択すると良いです。

次に、[表示]タブから[選択範囲に合わせて拡大/縮小]を選択します。

そうすることで、以下のように選択がすべて収まる最大のサイズに調整されます。

他の範囲に移る際は、隣の[100%]を選択して、表示倍率を100%に戻すとよいです。

2025/12/05
【Excel】表の順番をローテーション

【Excel】表の順番をローテーション

以下のように、特定の項目の、要素の順番を回転させる方法について、2通りで解説していきます。

※こちらで作成したファイルは、記事の最後にて配布しています。

ExcelVBAレベル確認

方法1

1つ目は、末尾のデータを切り取りして、先頭に挿入するという方法です。

まずは、末尾のデータを選択します。

次に、緑の枠の上にカーソルを移動させ、Shiftを押しながら先頭までドラッグすることで、簡単に切り取りと挿入を行うことができます。

しかし、この方法の場合、行数が多い表や複数項目を回転させる必要がある場合に、若干面倒になります。
そんな時は、次の方法が便利です。

ExcelVBAレベル確認

方法2

2つ目は、並べ替え用の数値が入力された項目を用意し、その列を基準に並べ替えるという方法です。
具体的には以下のように、各行の行番号を常に表示し、末尾のみ「1」と表示されるような項目を数式で用意して、対象の項目のみを並べ替えます。

そのような特殊な項目は、以下の数式を入力することで実現できます。

=IF(ROW()=COUNTA($C$3:$C$17)+2,1,ROW())
// ROW()=COUNTA(…)+2:「数式を入力したセルの行番号」と「データの件数+2」が等しい
// 1:先ほどの条件を満たしたときに「1」を表示
// ROW():先ほどの条件を満たさない時に「数式を入力したセルの行番号」を表示

この数式を表の末尾までコピーすることで、各行の行番号、末尾のみ「1」と表示させることができます。

最後に、並べ替える対象の範囲(見出しを含む)のみを選択し、フィルターを設定します。

以上で、準備完了です。
番号が入力された列を基準に、フィルターボタンから昇順にすることで、データを回転することができます。

番号以外の項目に罫線を設定すると、表が見やすくなります。

▼サンプルファイル▼

ExcelVBAレベル確認

方法2の注意点

フィルターを設定せずに、[データ]タブから並べ替えしてしまうと、以下のように、先頭列も並べ替えられてしまいます。