• ベストアンサー

EXCELの計算式に詳しい方お願いします

EXCELの計算式で、一つのセルに式を入れて隣へドラッグして いくと式がコピーされますよね、そのことでお聞きしたいです。 例えばSheet1の表に、Sheet2上の数値を引っ張ってきたいとき、 Sheet1のセルA1に(=Sheet2!A1)を指定すると、横にドラッグすれば Sheet1のセルB1は(=Sheet2!B1)になるとおもいます。 でもそれを(=Sheet2!C1)にしたいのです。つまり引っ張る値を一つ 飛ばしにしていくということです。 これは一括でできるのでしょうか?伝わりにくかったらすみません。 初歩的なことだと思いますが、どなたかご存知の方お願いいたします。

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

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

例えば1行だけの話にするとすれば次のような式にすることが必要です。 シート1のA1セルには次の式を入力して右横方向にオートフィルドラッグします。 =INDEX(Sheet2!1:1,COLUMN(A1)*2-1)

meet-y
質問者

お礼

ほんとうですね。 なかなか使わない数式なので知りませんでした。 ありがとうございます

その他の回答 (4)

  • A88No8
  • ベストアンサー率52% (834/1602)
回答No.5

こんにちは #3の補足です。呆けてました。  1,3,5,7,9という数列が作れれば関数で対応が可能でした。  これ以上は..すでに#2に回答が出ているので..m(__;m

meet-y
質問者

お礼

何度もご丁寧にありがとうございます。

noname#204879
noname#204879
回答No.4

Sheet1!A1: =OFFSET(Sheet2!$A1,,(COLUMN()-1)*2)

meet-y
質問者

お礼

こんな式もあるんですね。 ありがとうございます。

  • A88No8
  • ベストアンサー率52% (834/1602)
回答No.3

こんにちは >Sheet1のセルA1に(=Sheet2!A1)を指定すると、横にドラッグすればSheet1のセルB1は(=Sheet2!B1)になるとおもいます。でもそれを(=Sheet2!C1)にしたいのです。  エクセルは表計算ソフトですので表を壊さないように上記の動作をするのだと思います。 ですから一括で(ドラッグしただけで)一つ飛びにするのは、表計算のしくみにとらわれないプログラム(VBA)の力を借りないと無理です。  でもこんなテクニックは使えます。  Sheet1で普通にドラッグしてLinkコピーを作ります。  そして飛び飛びになるように入らない列を削除するのです。

meet-y
質問者

お礼

そうなんですね。EXCELにはそんな能力が あるからある意味融通が利かないんですね。 ありがとうございました

  • tadagenji
  • ベストアンサー率23% (508/2193)
回答No.1

VBAにでもしないとできませんね。 こんな方法は可能ですか? Sheet2のほうを造るときSheet1と一々になるようにしてSheet1に相談内容の式を入れ、それが終わってから、Sheet2に1列おきに列の挿入をする。

meet-y
質問者

お礼

VBAですか。高度すぎますね~ ありがとうございます

関連するQ&A

  • エクセルで困っています。

     エクセルのことで困っているので教えてください。  例えばですが、表を作って、セルA5にSUM関数を入れ、セルB5にドラッグでコピーすると、そのままA5の式の結果の数値(A1からA4の足し算の結果)がコピーされてしまいます。式自体は正しくコピーされているようで、その後B5セルを選択して「f2キー」を押し確定すると、正しい数値(B1からB5の足し算の結果)が出てきます。特に自分で変な操作をした覚えは無いんですが、保存しておいたいくつかのワークシートでこのようなことが起こります。これを解除するにはどのようにしたら良いのでしょうか?

  • エクセルでの一括計算方法がありましたら教えてください

    A2~A60の1列に数値が入っています。 その値すべてに 0.55を掛けた値を隣のセル B2~B60に表示したいのですが 一括でできる方法はあるでしょうか? 最終的には、B2~B60の数値に隣のセルC2~C60の値を掛けた数値をD2~D60に表示したいのですが。。 1セルごとに関数を入れる以外に方法があれば と思って質問しました。 ご存知の方がいらっしゃいましたら ご指導 よろしくお願いします<(__*)>

  • 【エクセル】計算式がうまくコピーされない

    Sheet1のA1に”=SUM(Sheet2!A1)”という関数式を入れて、そのセルをB1にドラッグすると ”=SUM(Sheet2!B1)”というふうにセルも引き継いでコピーされるのですが A1に別のBookのA1をリンクさせて”=SUM([Book2.xls]Sheet1!$A$1)”とした場合 同じようにA1をB1にドラッグするとただのコピーになってしまいます。 (A→A、B→Bではなく、A→A、B→A) ドラッグした先のB1セルを”=SUM([Book2.xls]Sheet1!$B$1)”とするにはどのようにしたらよいのでしょうか。 会社で使っている2007年用のファイル(2006年のファイルからリンク)をコピーして、 2008年用のファイルを作りたいのですが このままではセルを一個一個手直ししなければなりません・・・。 説明が下手ですいません!誰か助けてください><! 関係ないかもしれませんが 【ツール】→【オプション】→【計算方法】は”自動”になっています。

  • エクセルで列参照してくれないんです。。。

    こんにちは。 エクセルで以下のような表を作成しています。   A  B  C 1 0  10 2 1  11 3 2  12 4 (1)  (2) (1)には、A1のデータ(=0)が入るように [=A1]という式を入力しました(セルの書式は標準です) (2)には、累計を入れて行きたいので [=(1)+B1]という式を入力しました。 他のシートではこの式でちゃんと値が出ているのに、 このシートの時(というか、新規で作成したから?)には (1)は、[=A1]と表示され、(2)には、[=A4+B1]という式のままで 値が表示されません。 セルの書式を数値にしたり、文字列にしてみたり、式を最初に入力してからセルに値を入力したり・・と思いつくことはやってみましたが どうにもなりません。 とても初歩的なものですが、なぜこういった状況になるのか 教えていただけませんでしょうか? 前にもあったような事柄でしたが、そのときは適当に色々してたら 出来た、という印象しか残っていなくて、今回は再現できませんでした。。。。 よろしくお願いします。

  • エクセルの表計算書式のセルを普通の数値にしたい。

    セルの値がA1+B2となっていて、表示される数値が8とします。 わたしがやりたいのは、A1+B2の式をなくして、8の数値だけにしたいのですが、 どうやればできますか?ひとつのセルだけだったら書き直せばいいんですが、膨大なセルの数なので、どうにか表計算の式をなくして、上のバーも数値だけににしたいのですが可能ですか?

  • EXCELの質問です。どなたか教えてください。

    EXCELの質問です。どなたか教えてください。 Sheet1のA1,B1,C1にSheet2のA1,C1,E1と、一つ飛ばしの 値を反映させるにはどうしたらいいですか? Sheet1のセルA1,B1に A1=Sheet2A1,B1=Sheet2C1とし、2つのセルを選択してドラッグしても A1=Sheet2A1,B1=Sheet2C1,C1=Sheet2C1,D1=Sheet2E1,E1=Sheet2E1,F1=Sheet2G1・・・ と反映されてしまいます。 できれば小難しい計算式は使いたくないのですが、なにかいい方法や簡単な 式があったら教えてください。 宜しくお願い致します。

  • Excelのフィル機能

    あるセルに、 B5 & "~" & B14 と入力し、下のセルにドラッグすると B15 & "~" & B24 というように、数値が10個飛ばしでコピーされるようにしたいのですが、フィルの設定を変えてもうまくいきません。 どうすればできるでしょうか?

  • 再び質問。エクセルで集計。

    昨日、「エクセルまたは他のフリーソフトで集計したいです。」 と質問をして、ベストアンサーさんから教えて頂いた下記の方法で、 自宅パソコンのWindows 7のエクセルでは出来ました。 そのデーターを会社のWindows XPのエクセル2000で開くと、 シート2の名前が表記されるところに「#NAME?」となってしまいました。 私が最初質問した時にWindows 7と書いたので、それに沿って教えて 頂いたのだと思います。 最近のエクセルでしかできない事なのでしょうか? それともどこかを変更すると同じ事ができるのでしょうか? エクセル初心者でわからない事だらけです。 教えて下さい!よろしくお願い致します。 ベストアンサーの方の回答↓ ----------------------------------------------------------- シート1は元の表でお求めの表をシート2に作るとします。 シート1ではB1セルからH1セルにかけて月から日まで入力します。 氏名はA2セルから下方にあるとします。(1),(2),(3)の選択種がBからH列の2行目以降にに入力されるとします。 J列からP列を作業列として、J2セルには次の式を入力してP2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(OR($A2="",B$1="",B2=""),"",B$1&B2&(COUNTIF(B$1:B1,B2)+1)) シート2に移ってA1セルから3行おきに月(A1セル)、火(A4セル)、水(A7セル)・・とA19セルまで入力します。 B1セルからB3セルまでに(1),(2),(3)を入力してそれを下方に繰り返し表示させます。 C1セルには次の式を入力して横方向にドラッグコピーしたのちに下方にもドラッグコピーします。 =IFERROR(INDEX(Sheet1!$A:$A,MATCH(INDEX($A:$A,ROUNDUP(ROW(A1)/3,0)*3-2)&$B1&COLUMN(A1),INDEX(Sheet1!$J:$P,1,ROUNDUP(ROW(A1)/3,0)):INDEX(Sheet1!$J:$P,10000,ROUNDUP(ROW(A1)/3,0)),0)),"")

  • エクセル計算式について

    エクセル97でシート1のセルを参照しシート2のセルで1を掛け計算結果を表示しているのですがシート1のセルがブランクの場合シート2のセルに#####が表示されます。シート1のセルがブランクの時、シート2のセルもブランクにするにはどのような方法がありますか。シート2の式は=(ASC(シート1!K1))*1です。なお1を掛けた理由はピポットテーブルを使用し集計表を作成したとき、10の位と100の位の並びかたが昇順にならなかったのでセルの値を数値情報とするためです。よろしくお願いします。

  • Excel、ページを跨ぐ計算について

    Excelのシートを跨いだ計算についてです。 1シートの中での計算はできました。 (例えば「A」というシートから「D」というシートの中の複数(A、B、C、D)シートの、P4のセルの値を足す) ただ、これだとそのシートをコピーした時、当然シートの名前が変わってしまうのでエラーになってしまいます。 (例えば、「E」というシートを作ってAからEのシートのP4が足された値を計算したいのに、セルの値にはAからDがコピーされているからエラーになる) この場合、セルの値に「シート名」までのP4の値を足す、という指示を入力するにはどうしたらいいのでしょうか?毎週作るものなので、毎回セルの値を直すのが面倒です。 可能であれば、ですが教えていただきたいです。 マクロのことは勉強不足ですが、やはりその知識が必要でしょうか?

専門家に質問してみよう