• 締切済み

エクセルの貼り付けについて

添付画像の様にB列に入力してあるデータを 8行ずつずらしながら、 B列のデータがどこに入っているかを 分かるような表をFからG列で作成しています。 8×3行が終わったら2行下の所からまた8×3行 と入れていきたいのですが、 例えば14行目のE・F・Gの数式を編集しないといけなく、 実際は8×12で運用しているので、 手間がかかります。 簡単に貼り付けるだけで 新しい入力欄ができるようにはできないでしょうか? よろしくお願いします。

みんなの回答

  • SI299792
  • ベストアンサー率48% (715/1480)
回答No.5

>E・F・G の数式を編集しないといけなく、 であれば、VBA の方がいいかもしれません。 Option Explicit ' Sub Macro1()   Dim RInp As Long   Dim ROut As Long '   For RInp = 0 To Cells(Rows.Count, "B").End(xlUp).Row - 5 Step 8     ROut = (RInp \ 24) * 9 + 5     Cells(ROut, RInp \ 8 Mod 3 + 5).Resize(8) = _       Cells(RInp + 5, "B").Resize(8).Value   Next RInp End Sub

  • msMike
  • ベストアンサー率20% (363/1775)
回答No.4

既に SI299792さんから素晴らしい回答が寄せられて居ますが、私のはお恥かしい限りです。(*^_^*) 此の場を拝借して私の備忘録の一つとして下記に書いて措きます。 下記の各セルに夫々の右側に示した式を入力して、夫々右に3列下に7行オートフィルしたら如何かと。 E5: =OFFSET($B$5,MOD(ROW(A1)-1,8)+(COLUMN(A1)-1)*8,) E14: =OFFSET($B$29,MOD(ROW(A1)-1,8)+(COLUMN(A1)-1)*8,) E23: =OFFSET($B$53,MOD(ROW(A1)-1,8)+(COLUMN(A1)-1)*8,) E32: =OFFSET($B$‥,MOD(ROW(A1)-1,8)+(COLUMN(A1)-1)*8,) E41: ……

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

お望みは、関数を使ってだろうし、その回答も出ています。 個人的興味で、VBAで、繰り返し法でやってみた。 標準モジュールに Sub test01() lr = Range("B100000").End(xlUp).Row 'MsgBox lr 'スタートポジション i = 4 '原データのスタート行 '--- ltx = 5 '目的表部分データのカタマリのスタート行 lty = 5 '目的表部分データのカタマリのスタート行 '-- x = 0 '目的表部分データのスタート行 第1 行スタート y = 0 '目的表部分データのスタート列 第5列スタート '--繰り返し部分 S1: '===元データ i = i + 1 '原データは、次はいつも次行に行く。B列のデータ Cells(ltx + x, lty + y) = Cells(i, 2) '元データB列=2 よりとる '====目的表部分の内部で x = x + 1 '目的表部分の直下の行を指す 取り敢えず列は動かさず If x > 7 Then '8行超えたら x = 0 '目的表の第1行へ y = y + 1 '目的表の列を右列へ+1 Else End If '--- If y > 2 Then 'E列+3列=G列より右列をポイントしたら ltx = ltx + 9 '8行下のセルから目的表セットする ity = 5 'ltyはE列からでうごかない. '--- x = 0 'G列を越えたら目的表の中のポイントをE列に戻す y = 0 Else End If '--元データ最下行越え If i > lr + 1 Then Exit Sub '最終行までで終わり GoTo S1 End Sub 結果 一部 B列=も読データ E,F,Gが、小生が目的表と言っている部分 FA00004 FA00004 FA00012 FA00020 FA00005 FA00005 FA00013 FA00021 FA00006 FA00006 FA00014 FA00022 FA00007 FA00007 FA00015 FA00023 FA00008 FA00008 FA00016 FA00024 FA00009 FA00009 FA00017 FA00025 FA00010 FA00010 FA00018 FA00026 FA00011 FA00011 FA00019 FA00027 FA00012 FA00013 FA00028 FA00036 FA00044 結構クダクダして、褒めたものではないな。 クラスなどを使うとかして、スッキリしたいと思った。

  • SI299792
  • ベストアンサー率48% (715/1480)
回答No.2

前式間違い E5: =IF(MOD(ROW(),9)=4,"",OFFSET($B5,QUOTIENT(ROW()-5,9)*15+COLUMN()*8-40,0))

  • SI299792
  • ベストアンサー率48% (715/1480)
回答No.1

E14 にはB29 のセルの値が入ればいいのですか。 E5: =IF(MOD(ROW(),9)=4,"",OFFSET($B5,QUOTIENT(ROW()-5,9)*16+COLUMN()*8-40,0)) 右下へコピペ。

関連するQ&A

  • Excelの関数で教えてください

    添付画像のような表があり、E列の「金額」欄は基本的にはB列×D列の乗算の結果を表示させるので、それだけなら例えば2行目なら「B2*D2」で良いのですが、D列が空欄だったり、B列・D列とも空欄になる場合があって、E列のみに数値を記入するケースがあるため、E列に数式を設定するとイレギュラーで数値を入力できないため、その場合、隣のF列に代わりに入力すると、E列に表示が出るようにしたいと考えています。 C列は単位が入ります(○本、○ケース、○式等) まとめますと、 E列に表示される数値は B列とD列それぞれに数値がある場合はB列×D列の結果を表示 B列に数値があり、D列に数値がない場合はF列に入力した数値を表示 B列にもD列にも数値はなく、F列に数値がある場合はF列に入力した数値を表示 B列、D列、F列のいずれにも数値がない場合はブランク というような数式をE列に設定する場合、どういうような数式にすればいいのか、ご教示いただけないでしょうか? 以上、よろしくお願いいたします。 ちなみにExcel2010または2003で使用します。

  • Excelで集計を出すには

    添付した画像についてです。 左には、集計した表、右にはその結果を自動で出したいと考えています。 例えば、3行目は左の表に「2」と「3」が入っています。よって、その結果を右の表のE列に1、F列に1と手動で入力しています。4行目~8行目も同様です。 ここで質問ですが、9行目の左の表に「3」、「3」と入っている場合、どのような数式か関数を使えば、右の表のF9に「2」と自動で表示させる事が出来るのでしょうか? 詳しい方がいましたら、よろしくお願いします。

  • エクセルの関数について教えて下さい

    現在ある表を元に、見積書を作っています。 すごい効率が悪く、困っています。 A1~G3に表があります。(実際にはもっと多いです) 1行目に商品名 2行目に金額 3行目に個数 G3 に合計 1・2行目は、元々商品名・金額が入っており 3行目に個数を入れていきます。 G3に合計が入るようにしています。 B2、350円  C2、320円  D2、400円  E2、500円  F2、550円  G2 B3、 1    C3、      D3、 1    E3、       F3、      G3、750円  (現在のG3に入っている数式) =F3*F2+E3*E2+D3*D2+C3*C2+B3*B2 項目が多い為、数式がすごい事になっています。 もっといい方法はないでしょうか? わかる方おられましたら、教えて頂けませんか? よろしくお願いします。

  • EXCEL

    A-B-C-D-E-F-G 1-A-W-A-1-B- 2-B-A-N-2-C- 3-C-K-A-3-B- 4-D-A-I-4-E- 5-E-R-X-5-A- 例えば,エクセルで表のようになっている場合に, 列AにF1の値(表の場合は文字B)で検索をかけ,検索に該当した行(表の場合では行2)の列Dの値をG1に表示する方法はあるでしょうか?? 簡単に言うと,列Gに自動的にFに対応するDの数値を入力したいのです.自動的に列Gを下の表のようにすることは可能でしょうか? A-B-C-D-E-F-G 1-A-W-A-1-B-2 2-B-A-N-2-C-3 3-C-K-A-3-B-2 4-D-A-I-4-E-5 5-E-R-X-5-A-4 投稿すると文字がずれてしまって表が見難くてすいません. どなたか,ご教授よろしくお願いします.

  • エクセルで行挿入した際、自動的に計算式も入力される方法を教えて下さい。

    例えば、A列は単価を入力する欄、B列には数量を入力する欄、C列には=A1*B1(1行目の場合)の計算式が入っている表があるとします。 表の途中で行挿入すると、自動的にCのセルに数式が入力される方法はありますでしょうか? 複数の人に毎月この表(実際はもっと列が多い表)に入力して貰って集計等をしているのですが、各個人で表の途中で行挿入して行を増やした際、数式がコピーされてない人がいるため、行挿入すると自動的に数式が入力される方法がないかと思っております。 エクセルのバージョンは2000又は2003、行挿入は必要なので、行挿入を禁止する事はできません。 宜しくお願いします。

  • EXCELの関数について

    いつもお世話になってます。ありがとうございます。 excelの関数についてお聞きしたいことがあり質問しました。      A列 B列 C列 …        a   c   e  g  i 1行 2日 ○  △ □ ● ■ となっているデータを      A列 B列 C列 …      a   b   c  d   e  f  g  h  i … 1行 1日 2行 2日 3行 3日 こんなシートに自動的に打ち込めるようにしたいのです。      A列 B列 C列 …      a   b   c  d   e  f  g  h  i … 1行 1日 2行 2日○    △    □    ●    ■ 3行 3日 が完成図イメージです。 一番上の色々なデータから表を完成させたいのですがどうすればできるでしょうか。 vlookupやhlookupでは一行ずつの打ち直しが必要になってしまいます。 よろしくお願いします。

  • Excelの関数で教えてください

    http://okwave.jp/qa/q8549840.html の関連質問です。 上記URL内の画像で任意行のA列に「計」または「小計」という文字を入れた際に同じ行のE列にその上の行までの小計を入れる、というような数式を作ることは可能でしょうか? 例えば上記URL内の画像の表で言いますと、 E2からE5まで数値が入っています。 この時、A10に「計(あるいは「小計」)」と入力しますと、E2からE5までの足し算をした結果が出る。 また、この時上記URLの#1もしくは#2の数式も有効である必要があります。 A10で小計を計算したあと、E11、E12に数値が入り、最終行の合計欄で合計表示、という運用も考えられます。 以上、ご教示よろしくお願いいたします。

  • Excel:決まったセルから常にあるセルの最終行の引き算

    添付画像のA7~E7列に数値を入力していき、F列にB~Eの合計がSUM関数により表示されます。 必要に応じ、8行目以降にデータは累積していきます。 D4セルにC4からF列の常に最終行の引き算の数式を入れたいと思っています。 イメージは D4=C4-(F列の最終行)というものですが、具体的にどういう数式をD4セルに当てはめればよいでしょうか? 御教示宜しくお願い致します。

  • エクセル 年月日が分かれてセルに入力されている日数の算出方法について

    ある期間の日数を数式で算出したいのですが、 年月日が、 A列1行目:2008、B列1行目:12、C列1行目:25、 D列1行目:2008、E列1行目:12、F列1行目:31、 のように、それぞれ分かれたセルに入力されており、 例えば、この間の日数をG列1行目に"6"といった具合に算出したいのですが、数式でうまく算出する方法が思い付きません。 (※ちなみに日付の入力方法は変更ができません。) どなたかもし良い方法をご存知でしたら、教えていただけないでしょうか? よろしくお願いいたします。

  • エクセル

    列A 列B 列C 列E 列F 列G 1   A    1    A 100 1   B    1    B 100 2   A    1    A 100 2   B    2    A 100 3   A    2    A 100 3   B    3    B 100 4   A    1    B 100 4   B    2    B 100    上記のような表があるとします。 列Cの合計欄には列AとB二つの条件を満たすデータを列EとFから抽出し、列Gの合計を反映させたい。 説明が下手ですみません。 SUMIFを使用して1つの条件を満たすデータの合計を出すことは出来たんですが、なおかつ、もう一つの条件を満たす・・・という式が出来ません。 どなたか教えてください。お願いしますm(__)m

専門家に質問してみよう