• ベストアンサー

フィルでの等間隔コピー

エクセル初心者の私にお知恵を貸して下さい。 どの様に説明していいかも分らないので 簡単に質問させていただきます。 以下の様な表があるとします。   A  B  C   1 10 2 10 3 10 4 10 5 10 6 10 これをC1、D1、E1にA1、A3、A5と1行ずつ空けた等間隔で C2、D2、E2にA2、A4、A6と1行ずつ空けた等間隔で 値を返して行きたいのですがフィルを使って可能でしょうか?   A  B  C  D  E 1 10    A1  A3  A5 2 10     A2  A4  A6 3 10 4 10 5 10 6 10 C1からの列には、IF関数を使用して A1~A300までの数値で10以上なら○ 10以下ならブランクとしたいのですが C1=IF($A1>=1,"○","")と数式を入れて フィルで列方向に引っ張ると D1=IF($A1>=1,"○","")となってしまうので A1をA3に置き換える作業がでてしまって困ってます。 $A1部分を関数に置き換えてのやり方もあるようでしたら ご教授いただけると幸いです。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

>これを応用して色々と利用したいのですが COLUMN()-3)*2の-3と*2の意味と ROW()-1,0)の-1と0の意味が理解できません 規則的に飛び飛びのデータを数式で表示したいときはOFFSET関数が利用できます。(使い方はヘルプを参照してOFFSET関数を調べてください) このとき、規則的な数字を取得するためにROW関数やCOLUMN関数を使用しています。 ROW()のように括弧の中に何も入れないと、そのセルの行番号を取得できます(COLUMN関数も同じです)。 たとえばC1セルでROW()を入力すれば「1」、COLUMN()を入力すれば「3」が返ります。 したがって、括弧の中に何も入力しない数式を使用した場合は、入力するセル位置によって数式を調整する必要が出ることになります。 このような場合は、以下のように明示的にA1セルを参照するようにすれば、どこのセルに入力しても同じ結果を表示することができます。 =OFFSET($A$1,(COLUMN(A1)-1)*2+ROW(A1)-1,0) >C1=IF($A1>=1,"○","")と数式を入れて フィルで列方向に引っ張ると D1=IF($A1>=1,"○","")となってしまうので A1をA3に置き換える作業がでてしまって困ってます。 この質問ならINDIRECT関数を利用する方が簡単かもしれません。 =IF(INDIRECT("A"&(COLUMN(A1)-1)*2+ROW(A1))>=1,"○","")

kumakuma1
質問者

お礼

ありがとうございます。 とても参考になりました。 もっと勉強を重ねて邁進します。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

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

今の質問者に意っても無駄と思うが、こういうのはVBAというプログラムでやると考えやすい。 例データ 1 2 3 4 5 6 7 8 ・・・ コード 標準モジュールに貼り付け Sub test02() j = 3 'C列スタート。起点列をC列とする d = Range("A65536").End(xlUp).Row 'A列最下行取得 For i = 1 To d Cells(i, j) = Cells(i, "A") '起点列 Cells(i, j + 1) = Cells(i + 2, "A") '起点列の隣の列 Cells(i, j + 2) = Cells(i + 4, "A") '起点列のその隣の列 Next i '繰り返し End Sub 最終データ行より3行前に終わるならFor i = 1 To d-2にする。 ーーー 結果 C列より以右列 1 3 5 2 4 6 3 5 7 4 6 8 5 7 9 6 8 10 7 9 11 以下略 質問では列がヅレ手はじまって見えるが回答の方では全てC列から始まって要るようだ。こちらでやってみた。 ずらすのも多少コードを変えればできる。 ーー 関数の場合もデータをセット刷る側のセルを元に考えてA列のどの行を持ってくるか計算する必要がある。 C1に=INDEX($A$1:$A$100,ROW(),1) D1に=INDEX($A$1:$A$100,ROW()+2,1) E1に=INDEX($A$1:$A$100,ROW()+4,1) C1:E1の式を下方向に式を複写 結果 1 3 5 2 4 6 3 5 7 4 6 8 5 7 9 以下略。 D,E列の式を横方向の複写でやる場合は C1に =INDEX($A$1:$A$100,ROW()+(COLUMN()-3)*2,1) と入れてE列まで横方向に式複写。 C1:E1の式を下方向に式を複写。

kumakuma1
質問者

お礼

ありがとうございます。 確かに現段階では難しすぎるので勉強します><

全文を見る
すると、全ての回答が全文表示されます。
  • BookerL
  • ベストアンサー率52% (599/1132)
回答No.1

余りスマートではありませんが、C1 に次の式を入れ、下へ一つコピー、そのあと、C1C2 を右へ二つコピー =OFFSET($A$1,(COLUMN()-3)*2+ROW()-1,0) でとりあえずいけると思います。

kumakuma1
質問者

お礼

ありがとうございます! 大変助かりました。 これを応用して色々と利用したいのですが COLUMN()-3)*2の-3と*2の意味と ROW()-1,0)の-1と0の意味が理解できません>< もし宜しければご教授願います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 一個飛ばしのオートフィル

    一行目にA列からC列に数値が入っているとします。 2行目のA列にはA1のデータを、B2は空白セルで、C2にB1のデータ、D2は再び空白で、E2にC1のデータを... という風に、一個飛ばしで連続したデータを入れる時、オートフィルなどで簡単に入力する方法はないでしょうか? 説明がわかりにくくてすみません。 お分かりの方いましたら、よろしくお願いいたします。

  • フィルハンドルができない

    フィルハンドルができない 例えばLEFT関数とか数式をを入れた時、その式を1000行目まで フィルハンドルで一気に入力したいとします。 通常はできるのですが、その1000行の中に空白が あったりすると、フィルハンドルはその空白のセルで止まってしまうので、 手で1000行目までハンドルを持っていかなければいけません。 何か、簡単に一気に入力できる方法はないでしょうか。 連続データの作成をやってもうまくいかなかったです。 ↓  下の場合だと、A列にLEFT関数の式を入力してフィルハンドルすると、 B列4行目に空白があるので、3列目で連続のデータがとまってしまいます。       A列     B列 1行目 LEFT関数  1234 2行目 LEFT関数  1233   3行目 LEFT関数  1234           4行目           空白            5行目         1233           

  • エクセル オートフィルについて

    エクセル オートフィルについて A列 B列 C列 1   2  =A2+B2 上記のように、エクセル表のC列の2行目に数式が入っています。 この数式を連続オートフィルで下にスクロールしたいのですが、 C列の3000行まで簡易な方法で連続にしたいのです。 初心者で申し訳ないのですが、やり方を教えていただければ嬉しいです。 バージョンはエクセル20007です。

  • エクセルでの行数カウント

    エクセルで A列 B列 1行 ●1 C ⇒カウント 2行 X1 D  3行 ●2 E 4行 X2 F 5行 ●3 C ⇒カウント 6行 ●4 D 7行 X3 E A列で「●」を含み、なおかつB列で「C」である行の数(例でいうと「2」)を求める 数式を教えてください。 ちなみに A列 B列 1行 ● C ⇒カウント 2行 X1 D  3行 ● E 4行 X2 F 5行 ● C ⇒カウント 6行 ● D 7行 X3 E であればA列が全く「●」に等しいものでカウントする場合は、下記の関数で計算できます。 {=SUM(IF(B1:B7="C",IF(A1:A7="●",1,0)))} COUNTIF関数では、"●*"のように「任意の文字」を指定することが可能ですが、IF関数の 中ではできないようです。

  • 【エクセル】行挿入で数式もいっしょにコピーしたい

    こんにちは。 エクセルで現金出納帳を作成しています。 例えば・・・   A列   B列 C列 D列 E列 1 日にち  科目 収入 支出 残高 2 10/1  光熱費    10000 3 10/2  給料  200000   190000 4 ・・・・・・ E列には=IF(E2="","",IF(AND(C3="",D3=""),"",E2+C3-D3)) という数式を入れています。 後からデータを足したい時(例えば3行目に挿入)に、行挿入をすると 数式もコピーされ、以下の行の数式も更新されるようにしたいのですが、どのようにしたら良いのでしょうか。 ご回答宜しくお願い致します。

  • エクセルのオートフィル機能が最後まで働かない。

     WindowsXPでExcel2003を使っています。数日前,それまで問題なく使っていたオートフィル機能がおかしくなりました。番号列をつくることは,現在でもできますが,つぎの例のようなことが起きます。  (1):セルA1からA4まで数字を手動でいれます。A5で「=SUM(A1:A4)」と入力してエンターキーを押すと,合計の数値がでます。その値を12とします。B1:B4,C1:C4にも同種類の数値列(各セルの数値はA1:A4のものと異なる)があるので,B列,C列でも合計を求めようとして,A5の右下隅からフィルハンドルを右にドラッグします。すると,B5とC5にはそれぞれの列の合計値ではなく,12が出ます。A5の値がコピーされたようになるのです。しかし,モニター画面で入力フィールドの上にある「fx」の窓では,B5を選択すると,「=SUM(B1:B4)」という正しい数式が示されます。数式は正しくても,B5にはA5の数値が示されるのです。  (2): 上の例で,B5を選択して「fx」の窓に「=SUM(B1:B4)」を出し,その数式の先頭(「=」の前)にカーソルを置くと,B1:B5が色つきの線で選択されます。つぎにエンターキーを押すと,B5にはB1:B5の合計値がでます。いちいちカーソルを「fx」の窓の先頭に置かないと正常な計算ができないということです。  (3): (1),(2)と同じことは累積値を出すときにも起きます。たとえば,A列に「収入」,B列に「支出」の数値が2行目から手動で入力されていて,C列に「残高」(累積値)を出すとします。A2には,出納簿に最初にいれた金額があるとします。そこで,C2 にA2の数値をコピーし,C3 に「=C2+A3-B3」とすれば,3行目の残高が出ます。ここで,セルC3の右下隅からフィルハンドルを下にドラッグすれば,残高が順次示されるはずです。しかし,C4以下にはC3の数値が出ます。「fx」には正しい数式が示されています。 オートフィルが使えるようパソコンに詳しい方のご指導を切に望みます。以上

  • エクセル IF関数 初心者です。。

    A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 2  9:30 Cさん 11:00 3  10:00 Dさん 12:00 4  10:30 Eさん 9:00  1  9:00 A列氏名 B列時間 C列 B列IF関数 9:00からは1、10時からは2、 11からは3・・・ D列はC列のVLOOKUP関数 1=9:00、2=9:30、3=10:00・・・ そこでお聞きしたいのですが・・ A    B   C  D Aさん 9:00  1  9:00 Bさん 10:00 3  10:00 Cさん 11:00 4  10:30 Dさん 12:00 5  11:00 Eさん 9:00  2  9:30 IF関数を用いて IF(B1>=0.375),1,if(B1>=0.416666666666667),2,IF(B1>=0.458333333333333),3・・・ Eさんが2になるような数式がわかりません。 よろしくお願いします。。

  • 関数で対応が可能でしょうか?

    次のような、エクセル表で、関数(IF関数?)を使って、コピーが出来ますか? <sheet1>    A列    B列  C列  D列  E列  F列  ・・・ 1行 タイトル1  1 2行 数式1        2 3行 タイトル2          3 4行 数式2                4 5行                       タイトル1をコピー 6行                       数式1をコピー 7行                       タイトル2をコピー 8行                       数式2をコピー (1)B1=1 且つ C2=2 のとき、A1のタイトル1をF5にコピー (2)B1=1 且つ C2=2 のとき、A2の数式1をF6にコピー (3)D3=3 且つ E4=4 のとき、A3のタイトル2をF7にコピー (4)D3=3 且つ E4=4 のとき、A4の数式2をF8にコピー

  • ある条件を満たした最も近い数値を求める配列数式

    ある条件を満たした最も近い数値を求める配列数式について質問します。 A列には,C列の数値と比較する元になる数値が並んでいます。 B列には,D列の数値と比較する元になる数値が並んでいます。 C列には,A列の数値と比較する対象となる数値が並んでいます。 D列には,B列の数値と比較する対象となる数値が並んでいます。 E列には,計算式が入ります。 すなわち,例えば,E20には, C$1:C20の範囲内の数値で, 右となりにあるD$1:D20の数値が0でなく,かつ,B$1:B20の数値以下である数値の中で, 最もA20の数値に近い数値を求めます。 A  B   C   D  E 1 100  10 89   0   0 2 101 8 90    10    0 3 102 11 92    11   92   4 99 7 77      0   0 5 87 11 68    12   92 6 105   14 100     7   100 7 102 9 78     8   100 8 88 15 102     0    90 9 98 14 99    10    99 10 150 13 78     9   100 11 103  8 79     0   100 12 87 9 68     8   78 13   77   10    70    10   78 14   89   12    71     5   90 15   65   14   102     3   68 16   88   13   105     0   90 17   123  15    98     8   102 18   145  17    99    10   102 19   85    8   100     0   90 20   84    9    87    5    78 一定の条件を満たした配列の合計を計算する関数として,SUMPRODUCT()という便利な関数がありますが, この関数に相当する関数がないので困っています。 MIN関数が配列数式に対応していて,かつ,MIN関数をうまく利用して,最も近い数値を求めることがでるき方法があれば,私の希望が解決できそうなのです。 以上,よろしくアドバイス願います。

  • ある条件を満たした最も近い数値を求める配列数式

    ある条件を満たした最も近い数値を求める配列数式について質問します。 A列には,C列の数値と比較する元になる数値が並んでいます。 B列には,D列の数値と比較する元になる数値が並んでいます。 C列には,A列の数値と比較する対象となる数値が並んでいます。 D列には,B列の数値と比較する対象となる数値が並んでいます。 E列には,計算式が入ります。 すなわち,例えば,E20には, C$1:C20の範囲内の数値で, 右となりにあるD$1:D20の数値が0でなく,かつ,B$1:B20の数値以下である数値の中で, 最もA20の数値に近い数値を求めます。もし,この条件に合う最も近い数値が複数あった場合には,最も小さい数値を求めます。 行番号   A    B    C   D   E 1       100   10  89   0   0 2       101   8   90  10   0 3       102   11  92  11  92   4        99   7   77  0   0 5        87   11  68  12  92 6       105  14  100  7   100 7       102   9   78  8   100 8       88   15  102  0    90 9       98   14   99  10    99 10      150   13   78  9   100 11      103    8   79  0   100 12      87     9   68  8   78 13      77   10  70  10   78 14      89   12  71   5   90 15      65   14  102  3   68 16      88   13  105  0   90 17     123   15   98  8   102 18     145   17   99  10   102 19      85    8  100  0    90 20      84    9   87  5    78 一定の条件を満たした配列の合計を計算する関数として,SUMPRODUCT()という便利な関数がありますが, この関数に相当する関数がないので困っています。 MIN関数が配列数式に対応していて,かつ,MIN関数をうまく利用して,最も近い数値を求めることがでるき方法があれば,私の希望が解決できそうなのです。 以上,よろしくアドバイス願います。 なお,エクセルのバージョンは,2010です。 本日,同じ表題の質問をしましたが,その際の質問の本文に掲載した数列が崩れていましたので,再度投稿します。 質問番号:6449070

FAX-2100CL 記録紙トレイ破損
このQ&Aのポイント
  • FAX-2100CLの記録紙トレイが破損しました。差し込みのところがかけてしまい、新しい記録紙トレイが必要です。
  • お使いの環境について教えてください。電話回線の種類は何ですか?(例)アナログ回線・ISND回線・ひかり回線・IP電話
  • ブラザー製品に関する質問です。
回答を見る

専門家に質問してみよう