セルをx個飛ばしでコピーしたい

スプレッドシート (Calc) について
返信する
avon
記事: 5
登録日時: 11月 9, 2012, 4:02 am

セルをx個飛ばしでコピーしたい

投稿記事 by avon »

その1
その1
範囲を選択_001.png (5.07 KiB) 閲覧された回数 20915 回
上の画像で、A2が「=A1」となっています。
ここで、セルA2の右下の角にある「■」にカーソルを合わせると「✛」に変わり、マウスの左クリックを押したまま右方向にドラッグすると、
その2
その2
範囲を選択_002.png (6.74 KiB) 閲覧された回数 20915 回
のようになります。
「A2=A1」の関係をB2、C2、・・・以降においても保持させる方法です。

 ここからが本題なのですが、A2=A1、B2=D1、C2=G1、・・・のようにx個飛ばしの関係を保持したまま、上記と同様に連続したセルにコピーしていくことは可能でしょうか?

 もうひとつ質問ですが、
その3
その3
範囲を選択_003.png (6.19 KiB) 閲覧された回数 20915 回
において、A3=A1*A2、B3=D1*B2、C3=G1*C2、・・・のようにする方法はあるでしょうか?
OpenOffice3.2
Ubuntu 10.10
sunhk_25
記事: 8
登録日時: 10月 2, 2012, 12:04 pm

Re: セルをx個飛ばしでコピーしたい

投稿記事 by sunhk_25 »

ちょっと難しいところが有りますが、出来ます。
=INDIRECT(CHAR(64+(x*(COLUMN(A1)-1)+1))&"y")
=INDIRECT(CHAR(64+(x*(COLUMN(A2)-1)+1))&"y")*A2
xは指定したいの飛ばし幅です,yはスタートの列です。

例えば、二つセルを飛ばしたいときx = 3,y = 1:
=INDIRECT(CHAR(64+(3*(COLUMN(A1)-1)+1))&"1") A2に入れてからドラッグする
=INDIRECT(CHAR(64+(3*(COLUMN(A2)-1)+1))&"1")*A2 A3に入れてからドラッグする

A~Lの結果は:
二行目:-0.2 -0.6 0.4 5.6
三行目:0.04 0.36 0.16 31.36
OpenOffice 3.4.1 Windows XP
avon
記事: 5
登録日時: 11月 9, 2012, 4:02 am

Re: セルをx個飛ばしでコピーしたい

投稿記事 by avon »

 sunhk_25さん、この前に続き、助けていただきありがとうございます。
 仰るようにすると、やりたいことが出来ました。

 ところで、
=INDIRECT(CHAR(64+(x*(COLUMN(A1)-1)+1))&"y")
xは指定したいの飛ばし幅です,yはスタートの列
において、CHAR(character(文字)の略?)というのはセルの「A1」などの座標のアルファベット部分ということでしょうか?
もうひとつ質問ですが、「64」とは何を意味するのでしょうか?
OpenOffice3.2
Ubuntu 10.10
sunhk_25
記事: 8
登録日時: 10月 2, 2012, 12:04 pm

Re: セルをx個飛ばしでコピーしたい

投稿記事 by sunhk_25 »

>>において、CHAR(character(文字)の略?)というのはセルの「A1」などの座標のアルファベット部分ということでしょうか?
はい、そうです。CHAR(数字)というのは数字で計算して列の座標(アルファベット)を変換するためのことです。

>>もうひとつ質問ですが、「64」とは何を意味するのでしょうか?
それはASCIIコードです、アルファベット「A」のASCIIコードは「65」です。
OpenOffice 3.4.1 Windows XP
返信する

“Calc”に戻る