• ベストアンサー

エクセルで数字を転記する方法

いつもお世話になります。 エクセルの初歩的な質問ですが、ある規則正しく並んでいる数字を表にまとめたいと思っています。 例えば以下のように数字が並んでいるとします。     A  B  C 1   5  3  2 2   9  1  8 3   8  3  6 4   0  7  3 5   9  5  4 別の表には A1 A2 B1 C1 A4 A5 B4 C4 というようにAが続けて2行その後にBCが1行ずつ続き、その次の行(A3)をとばしてAが2行、BCが1行ずつ・・・とある規則で続いていきます。 簡単な数式を使って表にまとめる方法を教えていただきたいと思います。 尚、マクロは知りませんし、難しい用語も分かりません。月曜日の仕事で必要なので、日曜日中に宜しくお願い致します。

  • mscch
  • お礼率54% (12/22)

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

  • ベストアンサー
  • dac203
  • ベストアンサー率43% (92/212)
回答No.2

上側の表が入っているシートをSheet1、下側の表をSheet2に作成するとします。まずSheet2のA1~D1に次の様に式を入力します。 A1のセル =OFFSET(Sheet1!$A$1,(ROW()-1)*3,0,1,1) B1のセル =OFFSET(Sheet1!$A$2,(ROW()-1)*3,0,1,1) C1のセル =OFFSET(Sheet1!$B$1,(ROW()-1)*3,0,1,1) D1のセル =OFFSET(Sheet1!$C$1,(ROW()-1)*3,0,1,1) そうしましたら、Sheet2のA1~D1を必要な分だけ下にコピーします(ドラッグすればできますよね)。 ・・・という感じですがご要望に沿ってますでしょうか。

mscch
質問者

お礼

困っている時に早急なご回答ありがとうございました。 早速活用させていただきます。

mscch
質問者

補足

すごーい (*^-^*) 出来ました。ありがとうございました。 OFFSETを調べましたら、基準、行数、列、高さ、幅とありました。こんな便利な関数があるんですね。 二つ質問してもいいでしょうか。 (1)Sheet1とSheet2のセルの場所が同じでないと出来ないのでしょうか。違う場所では出来ませんでした。 (2)=ROW()を調べたら、「数式が入力されている行の行番号を調べます」とありましたが、ROW()-1の意味がよく分かりません。意味を教えていただけないでしょうか。度々すみませんが、宜しくお願い致します。

その他の回答 (4)

  • dac203
  • ベストアンサー率43% (92/212)
回答No.5

#2です。 >違う場所では出来ませんでした 違う場所でも可能ですが、式をいじってやる必要があります。 >ROW()-1の意味がよく分かりません まぁこれは式の説明をしないとわかりませんよね(^^;)>。 ということでちょと説明。例としてこの式を使います。 =OFFSET(Sheet1!$A$1,(ROW()-1)*3,0,1,1) これが入っているのはSheet2のA列になりますが、A列にはSheet1のA1、A4、A7・・・を表示されたいわけです。よく見るとSheet1の番号が3づつ飛んでますよね?なのでOFFSET量は0、3、6・・・と変化させればいいわけです(Sheet1のA1を基準として固定していますので。Sheet1の表の始まり(左上)がA1でない場合は変えてあげる必要があります。)。 Sheet2のA列においてROW()で得られる値は、A1は1、A2は2、A3は3・・・となります。この数値を使って先の0、3、6・・・を得るようにしなくてはならないので・・・ (ROW()で得られた値-1)x3 としているわけです。Sheet2のどこに記述するかによってこの部分はいじってあげなくてはなりません。ですから「別の表」の始まり(左上)がA7のセルだった場合はROW()で得られる値は7、8、9・・・となりますのでROW()-1の部分はROW()-7とする必要があります。 ・・・とこんな感じでわかりますでしょうか?

mscch
質問者

お礼

度々のご回答ありがとうございます。 無知な私に詳しく説明して頂き、大変よく分かりました。 これでぐっすり寝れます。(笑)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

#3です。「別の表」であるらしいので、元のシート名をSheet1として =INDIRECT("A"&(ROW()-1)*3+1) を =INDIRECT("Sheet1!A"&(ROW()-1)*3+1) にしてみてください。 他の3つも同じくSheet1!を加えて、変えてください。

mscch
質問者

お礼

再度ご回答ありがとうございました。 やっと出来ました♪ もっと関数を沢山使いこなせるようになりたいです。 また困った時は宜しくお願い致します(^^;)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

「別の表」のA1に =INDIRECT("A"&(ROW()-1)*3+1) B1に =INDIRECT("A"&(ROW()-1)*3+2) C1に =INDIRECT("B"&(ROW()-1)*3+1) D1に =INDIRECT("C"&(ROW()-1)*3+1) と入れて、下方向に式を複写する。

mscch
質問者

補足

ありがとうございます。 A1だけやってみましたが、うまく出来ません。(;;)どうしてなのか分かりませんが、せっかく返信していただいたのに申し訳ありませんでした。

  • dac203
  • ベストアンサー率43% (92/212)
回答No.1

別の表の A1 A2 B1 C1 A4 A5 B4 C4 というのはセルの番号ですか?つまり・・・ 5 9 3 2 0 9 7 3 と入ればいいのでしょうか?

mscch
質問者

補足

そうです。 宜しくお願い致します。

関連するQ&A

  • エクセルマクロでデータの検索と転記方法

    エクセル2000です。 sheetAの 10行~165行に表Aがあります。 途中に、空白行や小計行もかなりあります。 C列のコード(文字列、数値両方あります)をキーにして、SheetBの4行目から91行目までの表B(A列にコードがあります)のB列の数値を、sheetAの10行~170行のD列に転記したいのです。sheetAの表の小計行のC列は空白です。SheetBの表Bのコードは、sheetAの表Aのコードの一部しかありません。ですから、sheetAの表AのコードがSheetBの表Bになかったらそこは何も転記しません。 わかりづらい説明かと思いますが、マクロの記述をお教えいただければ幸いです。

  • エクセルで数字の抜き出し。

     よろしくお願いします。   A   B   C   D 1    2   - 2    4   あ  3    5   6 4    3 5        ”          ” という表があります。C列に数字が入っているときにB列の数字をD列へ抜き出します。この場合3行が条件にあたり、3Dへ数字の5が抜き出すようになります。よろしくお願いします。

  • エクセルで、計算で表示された数字を別のセルに入力したい

    よろしくお願いします。 エクセルで、以下のような表を作りました。 Dのセルには計算式が入っています。 【表1】   A B C D   1 2 3 1(計算式C2-C1にて)   2 3 4 1(計算式C3-C2にて)   3 4 5 -5(計算式C4-C3にて)  この表を、Aの行の数値をもとに降順でソートをかけると、  以下のようになり、Dの数値は、元のものと異なってしまいます。 【表2】   A B C D   3 4 5 -1(計算式にて)   2 3 4 -1(計算式にて)   1 2 3 -3(計算式にて)  計算ででた数字を、ソートした後にも表示させる良い方法は  ないでしょうか?  現在は、E行に、直接計算で出た数字を入力しているのですが、  数が多くて大変です(><)  お助けください!m(_ _)m

  • Excelでの並び替えについて

    1 セルA1~A10には、数字の1~10までが不規則に入力されています。(数字が入力されていないセルもシートによってはあります) 2 セルB1~B10には、人名が入力されています。 3 セルC1~C10には、生年月日が入力されています。 上記の条件で、  セルD1~D10には1から成績順に昇順に並べてリストを作成したいです。。(数字が入力されていないセルがあったときはその行は無視しても可)このときマクロは使用せず数式(関数)のみを使用し並び替えるにはどうしたらよういのでしょうか?  

  • エクセルで

    お世話になっております。 現在エクセルで毎日の売り上げ表を作成していまして、 ・A列一行ごとに毎日の計画数字が入っている ・B列に毎日、売り上げ数字を入力 ・C列にはB列に結果数字を入れるごとに合計 ・表最後にC-AとC/A という具合になっています。 そこで、この表最後のC-A・C/Aの数式を毎日B列に売り上げ数字を入れた行での自動計算みたいなものができればと思っているのです。 (今現在は毎日表最後の式のA・C列を手動で一行ずらしている状態です) 説明がうまくできずわかりづらいとは思いますが、方法があれば回答よろしくお願いいたします。

  • エクセルでちょっと変わった合計の求め方

    エクセルで以下のような事は簡単にできるでしょうか。       A   B   C  ・  ・  ・   1   3   0   2   2   1   2   1   3   1   2   1   4    5   3   2   0   6   3   1   0   7   1   2   1   8   9   3   2   2   ・   ・   ・ 12013  1   2   3 12014  2   1   3 12015  2   1   4 12016 12017 合計 合計 合計 12018 合計 合計 合計 12019 合計 合計 合計 12015行より上は入力された数字です。ここで、 Aの12017には、A1+A5+A9+・・・・+A12013、の合計 Bの12017には、B1+B5+B9+・・・・+B12013、の合計 Cの12017には、C1+C5+C9+・・・・+C12013、の合計 Aの12018には、A2+A6+A10+・・・・+A12014、の合計 Bの12018には、B2+B6+B10+・・・・+B12014、の合計      ・      ・ と、いうようにする場合、Aの12017にどのような数式を入れたらよいでしょうか? (=A1+A5+A9+A13+・・・・+A12013、なんて入力してられないので) Aの12017に数式がはいればBの12017以降はそれをコピーすればできると思いますので。 マクロは使った事ががありませんので関数とか利用した数式でできないでしょうか。 ちなみに簡素化のため列3X行3の入力された数字のかたまりで表示しましたが実際はもっと大きな かたまりです。また入力された数字の最後が何万何千何百何十何行になるかは データによって異なっています。

  • EXCEL(計算式のコピー方法)

    別シートの値を表示させる為に 以下のような式をいれたEXCELの表を作成いたしました。 7行目以降にコピーをすることで、 sheet2!a3・b3・c3 sheet2!a4・b4・c4~としたいのですが、 実際は、sheet2!a7・b7・c7 sheet2!a8・b8・c8~というようになります。 sheet2!a3・b3・c3 sheet2!a4・b4・c4にするには、 どう操作したら良いのでしょうか?    A列 1行 =sheet2!a1 2行 =sheet2!b1 3行 =sheet2!c1 4行 =sheet2!a2 5行 =sheet2!b2 6行 =sheet2!c2

  • エクセル、転記?について

    決められたエクセルの様式で数名が日々日報を入力しています。 たとえばAさん、Bさん、Cさんがいて それぞれの日報表 各1ブック を入力したら1つのブックへそれぞれ転記されるように設定し Aさんの日報表 Bさんの日報表 Cさんの日報表 と並べて1つの日報にしたいです。 または、入力された数字だけを転記する方法でもいいので 簡単な方法がありましたら教えてほしいです。 よろしくお願いします。

  • 再度、Excelの数式について、今朝

    再度、Excelの数式について、今朝 今朝、KURUMITO様から、下記1)~3)の条件での数式を親切に教えて頂きました。 教えて頂いた数式 =SUMPRODUCT(A4:A55,B4:B55)/H2 その後、条件が1)2)は同じですが、4)が増えたため3)が5)に変更になりました。 自分なりに次のように作ったのですが、エラーになります。=SUMPRODUCT(C4:C55="S")*(A4:A55,B4:B55)/H2 正しい数式を教えてください。バージョンは Excel2003 です、 宜しくお願いいたします。 1)A列 A4からA55まで、数字のデータが入ってるセルと、入ってないセルがあります。 2)B列もA列同様、B4からB55まで、数字のデータが入ってるセルと、入ってないセルがあります。(データの入ってる行は、A列で入っていれば、B列の同じ行に入っています)、 3)A列とB列のデータの入っている行を順番に4から55行まで、掛け算をして(例えば、A5*B5)、その4から55行まで合計を、H2に入っている、ほかの合計の数値で、割り算をする計算式をK2のセルに、一つにまとめて入れ、計算結果を表示したいのです。 4)C列もA列B列同様、C4からC55まで、B又はSの”文字のデータ”が入ってるセルと、入ってないセルがあります。(データの入ってる行は、C列(文字データ)で入っていれば、A列(数字データ)、B列(数字データ)の同じ行に入っています) 5)C列の”文字データ”がSならばA列とB列のデータの入っている行を順番に4から55行まで、掛け算をして(例えば、A5*B5)、その4から55行まで合計を、H2に入っている、ほかの合計の数値で、割り算をする計算式をK2のセルに、一つにまとめて入れ、計算結果を表示したいのです。

  • エクセルで割合に対して数字を出す方法教えてください

    エクセルで割合に対して数字を出す方法があれば教えてください。 以下の様にエクセルでAにそれぞれのパーセンテージを指定して、その後C-1に数字を入れた際に、その割合に合う数字をC-2やC-3、C-4毎で確認したいのですが、出来るのでしょうか? C-1にのみ数字を入れるという前提で、C-2からC-6までが数字で埋まるような数式があるのが理想です。 どなたかご教授頂ければ幸いです。   A    B   C 1 30%  ●● 2 20%  ▲▲ 3 10%  ■■ 4 10%  ×× 5 20%  ◆◆ 6 10%  ※※

専門家に質問してみよう