• ベストアンサー

セルの数式の入力方法

よろしくお願いします。 外部から取り込んで来たデータをHの100から下へHの195までのデータ               、その続きでHの196から下へHの291までのデータ                          ・                         ・  というような感じの「列のデータ」があったとします。 そのデータを今度を (Hの100からHの195)列のデータを(Bの5からCSの5)へ反映させたい。 (Hの196からHの291)列のデータを(Bの6からCSの6)へ反映させたい。 と、こんな感じにしたいんですけど。 要は、Hの100の数値だけBの5へ反映    、 Hの101の数値だけCの5へ反映     Hの196の数値だけBの6へ反映     Hの197の数値だけCの6へ反映させたいのです。 何か簡単な方法はないでしょうか? Bの5に数式で=H100 Bの6に=H101に入力するやり方や(一つ一つ入力していかないとだめなのでしょうか?) 出来ればこの方法で簡単にB5、B6・・・と数式を入力する方法を取りたいんですが。(連続データみたいな感じなら簡単でいいですけどね。まさか、数式の連続データみたいな物なんて無いですよね?。) (後から手動で)Hの100からHの195までコピー→Bの5のセルで形式を選択して数値だけ&行列を入れ替える→貼り付けでもできるのですが。 自分のやりたい事として、Hの列に入るデータをPCが動いている時は自動で順次Hの行に入るようにプログラムを設定(プログラミング知識がまだないのですが)PC動いてない時の抜けたデータを手動でHの列に入力する。その入って来たデータをただ数値だけ行に順次反映させたいのです。 また、行の所はあらかじめ条件付きの設定を何種類も設定しといて、後からデータが数値だけ入るようにしたいのです。 それともう一つすいません、数式で=H100 Bの6に=H101に入力するやり方で出来上がった物を他のシートに「数式だけ」転用(コピペ)することが可能でしょうか? 他のシートが条件付き設定が個別に違うもので。自分でやってみた感じ問題なくできたのですが。 申し訳ないのですが、エクセル詳しい方よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

B5のセルに次の式を入力して右横方向にオートフィルドラッグします。 =IF(ISERROR(INDEX($H$100:$H$195,COLUMN(A1),1)),"",INDEX($H$100:$H$195,COLUMN(A1),1)) B6セルには次の式を入力して右横方向にオートフィルドラッグします。 =IF(ISERROR(INDEX($H$196:$H$291,COLUMN(A1),1)),"",INDEX($H$196:$H$291,COLUMN(A1),1))

micrown
質問者

お礼

どうも、早急なご回答ありがとうございます。 >B5のセルに次の式を入力して右横方向にオートフィルドラッグします。 すいませんオートフィルドラッグしたとたんに前もって入れておいた(C5からCS5までの)条件付き書式の設定が消えてしまうのですが?  なんだろう? でも、とりあえず B5に数式を入力→コピー→C5からCS5まで→形式を選択して数式だけ貼り付けをしたらできました。 当初は、「簡単にできそう」と思っていましたが、これだけの長い数式が必要なのですね。 勉強不足でした。 どうも、ありがとうございました。

その他の回答 (2)

  • a987654
  • ベストアンサー率26% (112/415)
回答No.3

B5セルに =OFFSET($H100,COLUMN(B5)-COLUMN($B$5),0) B6セルに =OFFSET($H196,COLUMN(B5)-COLUMN($B$5),0) この2つをCSまでコピー。 以上

micrown
質問者

お礼

どうも、早急な御回答ありがとうございます。 この方法は簡単でいいですね。 >=OFFSET($H100,COLUMN(B5)-COLUMN($B$5),0)  =OFFSET($H196,COLUMN(B5)-COLUMN($B$5),0)        ,   ↑ここの部分だけ変えていけばいいのですね。 これなら、私でも簡単に出来そうです。 いろんな方法があるのですね。もっと勉強が必要です。 どうも、ありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

他にも色々使いたいとのことですので一般的にこのような場合にはこうするとのことで例を提案しますので一度ご自分で試験してみてください。 例えばB5セルから下方ににa,b,c,d・・と入っているとします。 そこでC1セルから横に、C2セルから横に、C3セルから横に・・・・3文字ずつ表示させるためにはC1セルに次の式を入力したのちに右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(OR(COLUMN(A1)>3,ROW(A1)*3+2>COUNTA($B$5:$B$10000)+4),"",INDEX($B:$B,COLUMN(A1)+ROW(A1)*3+1,1)) この式ではB列の5行目から10000行までデータが次々に追加入力されてもその結果がC,D,E列に自動的に表示されることになります。 提案の通りに一度新しいシートで試験され、それからご自分のケースで考えながら式をたて使われることを希望します。