- 締切済み
エクセル 12飛びのセル番号のポイント
教えてください エクセルのセルにたとえば A1=1 A13=2 A25=3 等入っているときに B1=(A1) (A1)はA1の内容この場合1が入る B2=(A13) B3=(A25) 等入れたいときはどうすれば良いのですか。 おしえてください。 B1に=A1とすると A1の値が入りますが それの数式をこぴーすると B2には=A2となりますこれをA13にしたいのです。 よろしくお願いします。
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- MackyNo1
- ベストアンサー率53% (1521/2850)
>申し訳ない以下意味がわかりません。 下方向にオートフィルコピーして、その選択状態のまま「データ」「区切り位置」で「完了」してください。 おそらく「オートフィル」の操作の意味がわからないのですね。 オートフィルとはエクセルのセルのデータをコピーあるいは連続データを入力するときに利用する便利な操作です。 基本操作は、選択したセルの右下にカーソルをおいて+のマーカーが出たら、そのまま左クリックしてドラッグ(セル範囲を選択する)操作をすることです。 例えば、「1月」と入力されているセルをオートフィルすると、2月、3月、・・・・・12月というような連続データが入力されます。 A1に「1」、A2に「13」と入力し、この2つのセルを選択し、オートフィルすると1,13,25・・・のように12間隔の数字が入力できます。 このような性質を利用して、数式を文字列データにして12間隔の数字の数式を作成し、最後に区切り位置の機能で文字列数式を通常の数式に変換した操作を紹介したものです。 ちなみに、左クリックのオートフィル操作はデータによって自動的に「コピー」(数式の場合は無条件にコピー)あるいは「連続データ」になりますが、このデフォルトの設定の逆の操作を行いたいときはCtrlキーを押しながらオートフィルします(例えばセルに「1」と入力し通常のオートフィルをすれば、数値データ「1」がコピーされますが、Ctrlキーを押しながら実行すると連続データになります)。 なお、左クリックドラッグでは自動的にコピーや連続データの形式を選択できませんが、右クリックでオートフィルすれば形式を選択することができます(エクセル2002以降ならオートフィル後に右下に表示されるオートフィルオプションから形式を選択することもできます)。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
>申し訳ない以下意味がわかりません。 下方向にオートフィルコピーして、その選択状態のまま「データ」「区切り位置」で「完了」してください。 Excel のウィンドウの上のほうにあるリボンあるいはメニューバーに「データ」というのがあるので、そこをどんどんクリックしていくだけです。何も設定せずクリックのみなので、アッと言う間に終わります。 「その選択状態のまま」とは、処理したいセル範囲、つまり「'=a1」などが入力されているセル範囲が選ばれたままの状態で実行するということ。選ぶというのは、例えば A1 セルをクリックして右下の方向にドラッグし、C5 の上で指を離すと、A1:C5 のセル範囲が選択されるとか、そういうことです。オートフィルの直後も、ドラッグした部分が選択された状態になっています。 ベストアンサーは辞退します。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
No.3 です。No.5さんのオートフィルがとても簡単で、お勧めです。ベストアンサーは辞退します。 それで、お勧めでない回答を追加してどうすんだというところですが、ご参考まで、補足させていただきます。 (1) 「★=a1」、「★=a13」と入力して下方向にオートフィルし、置換のダイアログ(Ctrl+H)で「★」→「」(未入力)と置換すると★が取れます。これでもまあまあラクです。 (2) 間の空く行数が少ない場合に、ラクな方法。B1 セルに「=a1」を入力し、B1:B12 のセル範囲を選択。選択している枠の右下の角をつまんで下方向に B25 までドラッグ。そのままの状態でキーボードの F5 キーを押し、表示されたジャンプのダイアログで「セル選択>空白セル>OK」。そのままの状態で Ctrl+ -(マイナス)を押し、「上方向にシフト」などを指定して削除。 (3) No.3 などのように数式を組み立てる場合、各式の ROW 関数ですが、「row()」→「(row(a2)-row(A$1))」という具合に、B 列以外の列番号を選んだ上で、行番号に「$」を付けて引き算する形に書き換えておくと、後で事故が起こりにくいかもしれません。つまり「=index(a:a,12*(row(a2)-row(A$1))-11)」みたいにするということです。 ROW 関数ではどのように書いても、後でいろいろ、セルごとドラッグ&ドロップしたり、行を挿入/削除した場合に、ROW 関数の返す値が変化してしまうので、ミスの原因になります。上のとおりにしておけば比較的、変化しにくいです。ただそれでも、1 行目と 2 行目の間に行を挿入したりすると、値が狂います。 以上、何とも言えない回答をしてしまいまして、失礼いたしました。
お礼
解説ありがとうございます。 参考にさせていただきます。
- MackyNo1
- ベストアンサー率53% (1521/2850)
例示のデータなら、以下のようなオートフィルコピー操作が簡単です。 B1セルに「'=A1」と入力し(アポストロフィーの後に参照数式を入力し)、B2セルに同様に「'=A13」と入力し、この2つのセルを選択して、下方向にオートフィルコピーして、その選択状態のまま「データ」「区切り位置」で「完了」してください。
お礼
ありがとうございます。 申し訳ない以下意味がわかりません。 下方向にオートフィルコピーして、その選択状態のまま「データ」「区切り位置」で「完了」してください。
B1: =OFFSET(A$1,(ROW(A1)-1)*12,)
お礼
ありがとうございます。
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
B1 =index(a:a,12*row()-11) あるいは =offset(A$1,12*row()-12,0) あるいは =indirect("a"&12*row()-11) どれでも。行番号が単なる等差数列。
お礼
ありがとうございます。
- K Kazz(@JazzCorp)
- ベストアンサー率31% (549/1751)
B1: =OFFSET($A$1,(ROW()-ROW($A$1))*12,0) 以下、コピー
お礼
ありがとうございます。カワセミさん 最近都会でカワセミが生きていると聞き、興味深いですね。 役に立ちました ありがとうございました。
- yossy3
- ベストアンサー率42% (3/7)
=INDIRECT("A"&(ROW()-1)*12+1) で、できると思います。 INDIRECT関数は引数で指定された文字列への参照を返します。 例えば、「=INDIRECT("A1")」と指定すればA1セルの値が入ります。 質問の事例の場合、12飛びのセル番号とのことですので、 「(ROW()-1)*12+1」で12飛びの行番号を取得します。 (「ROW()」は関数が入力されたセルの行番号を取得します。つまり、A1セルなら1が、A2セルなら2が返ります。)
お礼
ありがとうございます。役に立ちます。
お礼
お礼遅くなりました。ありがとうございます。