「Excel の行番号を取得してヘッダーをスキップする方法」に対する回答の実装方法

「Excel の行番号を取得してヘッダーをスキップする方法」に対する回答の実装方法

質問ヘッダーをスキップして Excel の行番号を取得する方法Excel で行番号を付ける方法を変更する方法について質問します。著者は通常、行 1 を列ヘッダーとして使用し、行 2 (ラベルは「1」) から行番号を付けるようにしたいと考えていました。

User522468 さんがこの回答を投稿しました:

古風なのは承知していますが、私は「行」関数を使用してマイナス 1 を追加しました: (A2:A93)- 1 これで行番号付けはうまくいきました。

そこで、セル A1 に =ROW(A2:A93)-1 と入力したところ、A1 に数字 1 が表示されるだけでした。

user522468 さんの回答を実装する際に何か間違ったことをしたかどうかを知りたいです。

答え1

結論を出すために回答を投稿します。はい、その回答を実装する際に何か間違ったことをしました。つまり、その回答を実装しようとしたのです。

回答の作成者は質問を誤解しているようです。回答は質問に対する解決策ではなく、実行可能な形式ではありませんでした。回答には、1欠落したヘッダー行を調整するために行の計算を減算するという一般的な概念の疑似コードが示されています。この回答をそのまま使用しても、実際に役立つことは何もありません。

この件に関して時間を無駄にしてしまったこと、お詫び申し上げます。

答え2

前述したように、これを文字通り入力することは、すべきことではありません。ただし、実際には、記載されているとおりに文字通り入力すると機能します。これについては、後ほど詳しく説明します。

まず、実際の問題は少し異なります。あなたがしようとしていることに関して、セル A1 には何も入力しません。セル A1 には、この連続番号の列に選択されたヘッダー名が入るか、あるいはヘッダーがまったく入らないかのいずれかになります。しかし、"0" (ゼロ) を表示したい場合を除いて、どのような理由でも、これらのエントリが入ることはありません。これは、あまり考えられません。

セル A1 に入力したときに「1」が返される理由は、Excel の多くの数式が引数に範囲 (A2:A93 など) を受け入れるものの、範囲の「左上隅」と呼ばれるもの、つまりその単一のセルに対してのみ作用するからです。範囲に表示されるセルは常に最初のセルなので、ここでは入力した内容が読み取られ、「いや、入力した内容から「A2」だけを取得して、それで進めます。残りを無視することについても何も伝えません...」と表示され、セル A2 の行番号は 2 で、1 を引くと「1」が返されます。

つまり、範囲の開始セルだけを取得するのは、A2 に入力して A2 をコピーし、列に貼り付けると実際に機能する理由です。A2:A93 は A3:A94、A4:A95 などに変更されます。そのため、そのセルは常に指定された範囲内で最初に指定されたセルになり、この作業には常に正しいセルが使用されます。つまり、実際にはこれを行うのは間違っており、より複雑なバージョンではおそらく問題が発生するか、最初にセル A3 にこれを入力すると... 実行しない理由はたくさんありますが、今回は面白いことにうまくいきました。

したがって、最初のセルを除く列の任意のセルに次のテキストを (文字通り) 入力します。

=ROW() - 1

任意の列。列ヘッダーがある行 1 を除く任意の行から開始します。

Enter キーを押した後、セルをコピーし、好きなだけ下に貼り付けます。(実際の「テーブル」を作成する場合は、自動的に実行されます。)

ちなみに、開始点より上の行の数を引きます。この場合、行は 1 行なので、1 を引きます。行番号の開始点より上の行が 4 行ある場合は、代わりに 4 を引きます。

つまり、うまくいかなかった理由は、列内の唯一入力できないセルに入力しようとしたからです。しかし、あなたもそうしたくはなかったでしょう。

(セル A1 にゼロを入れたい場合は、先ほど示した数式を A1 にも入力すると、「0」が表示されます。)

関連情報