痔になりやすい生活習慣とは?

=(B10/30*100)の計算式を下のセルにコピーする際、10列目だけ固定にし(B$10/30*100)、(c10/30*100)、(D10/30*100)、(E10/30*100)
とABCD…のアルファベットのみかわるようにしたいのですがB10が固定になり変わりません。
他のシートでは行参照のみはできたのですが、コピー出来ない条件があるのか、異なるやり方があるのか分かりません。
どう調べて良いかも分からず仕事の締切に間に合いそうもありません。。。
どなたか助けてください。

質問者からの補足コメント

  • 銀鱗さん
    早速のご回答ありがとうございます!

    教えていただきましたやり方でやってみたのですがうまくいきません。
    具体的に書きますので再度教えていただけると大変助かります!
    宜しくお願いいたします!

    シート1のN2セルに=M2/シート2!B$42
    シート1のN列に42行のみ固定し、列のみ(C42、D42、E42)かわるようにオートフィルにて縦にコピーしたいのです。
    シート1のN3にM3/シート2!C$42、N4にはシート1のM4/シート2!D$42…
    といった具合です。
    N2にオートフィルをしてみましたがB42が固定されてしまいます。

    せっかく教えていただいたのにうまく活用出来ずお恥ずかしいのですが、どうかお力をお貸しください。

    No.2の回答に寄せられた補足コメントです。 補足日時:2015/10/25 10:06

このQ&Aに関連する最新のQ&A

A 回答 (4件)

OFFSET関数とROW関数の使い方を理解されていないようですね。


このままでは問題の先送りになってしまいそうですが、答えてみましょう。
(問題の解決を他の人に肩代わりしてもらい、目の前の問題を解決しても
 理解していないため、同様な問題を自力で解決できない…)
解説を加えてみますので理解するよう努めてください。


OFFSET関数は指定したセルから「どれだけずれたセル」を指定する関数だ。(Offset:オフセット:ずれ、差)
基準になるセルを指定し、そのセルから行、列方向にいくつずれるかという形で記述する。
=OFFSET(基準,行数,列数)
=OFFSET(A1,9,1)
A1セルから下へ9つ、右へ1つ目のセルを指定。(B10がセル範囲として返る)

ROW関数は指定した範囲の左上のセルの行番号を返す関数だ。(Row:ロウ:並び)
範囲の指定がない場合は関数が入力されたセルの行番号を返す。
=ROW(範囲)
=ROW(A11:C15)
A11からC15の範囲の左上のセルの行番号。(11が数値として返る)
=ROW(A11)
A11の行番号。(11が数値として返る)
=ROW(A12)
A12の行番号。(12が数値として返る)
=ROW()
その関数が入力されている行番号。(D4セルに入力されていれば4。など)

数式が入力されたセルを下にフィルでコピーした場合、数式に含まれるセル番地の行数が自動で増加する。
この特性を活かしROW関数で連続した数値を得ることができる。
この場合、ROW関数で得た数値をOFFSET関数の列数に入れることで
縦にコピーしても横方向にセルを選択できるようにしている。


・・・
説明・解説・前置き…はこのくらいでよいだろうか。
少し試行錯誤すれば理解できる程度の説明はしたつもりだ。

N2 =M2/シート2!B$42
N3 =M3/シート2!C$42
N4 =M4/シート2!D$42
ならば
N2 =M2/OFFSET(シート2!A$1,41,1) …(=M2/OFFSET(シート2!A$42,0,0) でも間違いではない)
N3 =M3/OFFSET(シート2!A$1,41,2)
N4 =M4/OFFSET(シート2!A$1,41,3)
と書き直せる。
増えている箇所にROW関数を入れればよい。
N2 =M2/OFFSET(シート2!A$1,41,ROW(A1))
N3 =M3/OFFSET(シート2!A$1,41,ROW(A2))
N4 =M4/OFFSET(シート2!A$1,41,ROW(A3))
このように書き換え、完成。
N2セルを下にコピーすればよい状態になった。



OFFSET関数はセル単体を指定するのではなく、セル範囲も指定することができる。
=OFFSET(基準,行数,列数,高さ,幅)
高さと幅の指定を省略すると単体のセルを指定することになる。
SUM関数など、範囲を指定する関数に使用することもできるので覚えておくとよい。
    • good
    • 0
この回答へのお礼

助かりました

やっと理解できました。
少しアレンジ加え何とかできました。
本当にありがとうございました。

お礼日時:2015/10/26 00:26

えっと仕事で行っておられるのでしたらExcelの勉強本や解説本は入手済でしょうか?


ネット上にもたくさんの解説サイトがあります。
行参照の固定を行いたいのでしたら「Excel 行コピー 固定」といったキーワードで探すと見つかるかと思います。

参考まで。
    • good
    • 0

まさかとは思うが…


行方向(縦)にコピーなら
=(B$10/30*100)
これで固定されて正解。
行(この場合10行)を固定するために”10”の前に”$”が付けられている。

行方向にコピーして、C10/30*100、D10/30*100・・・とすることはできない。
列方向(横)にコピーしよう。

縦方向で行うのであれば、別の関数式を作る必要がある。
自分ならOFFSET関数とROW関数を組み合わせる。
=OFFSET($A$1,9,ROW(A1))/30*100
とか。

この数式は、
10行目を指定するためA1セルから9個下を指定。
B列から右を順に指定するため、A1セルから右に何個目になるかをROW関数(行番号)で指定。
こんなことをやっている。
この回答への補足あり
    • good
    • 1

同じ列の下の行にコピーするなら、列番号(BやC)は変わらず行番号(10や11)のみが変わります


ですので
下ではなく一度横にコピーして、更にそれを転置して貼り付け
別の複数の関数を組み合わせる
辺りになると思います
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q【Excel】列固定で横方向に数式をコピー

添付ファイルの黄色部分にデータを入力すると、対応するセル(赤字部分)に自動的にデータが入るようにしたいのです。
 (例) C2=B3、D2=B4、E2=B5

C2に=B3という式を入れておいて横方向に数式をドラッグしてもD2には=C3が入りますが、これを列番号固定で行数だけ+1ずつ増やす方法(関数)はありませんか?

Aベストアンサー

こんな感じかな。
C2に↓
=OFFSET($A$1,COLUMN()-1,ROW()-1)

QExcel 行列入れ替えて数式をコピーしたい

Excelのすばらしい機能に相対参照を使った連続コピーがあります。例えば、=A1 を横方向にコピーすると =B1 =C1 ・・となり、縦方向だと=A2 =A3 ・・となります。 ところで、これを横方向にコピーしたとき =A2 =A3 ・・、縦方向に=B1 =C1 ・・になる方法ってないでしょうか?
「形式を選択して貼付け」の[行列を入れ替える]では『値』では有効なのですが『数式』だとうまくいきません。数式で行列入替する方法を教えて下さい。

Aベストアンサー

No.2で答えた者ですが,もっと簡単な方法がありました。

セルの表示形式はデフォルトの「標準」ままでかまいません。
まず,「=A1」と入力するセルに「あ=A1」と入力し,それを縦方向に連続コピーします。
「あ=A1」,「あ=A2」,…  となるはずです。
これを「形式を選択して貼付け」の[行列を入れ替える]で単純にそのまま貼り付け,貼り付けた先のせるを選択し,
「あ」を「」(←文字無記入)に置換してやるとできます。

最初したとき,
『セル内には「=A1」,「=A2」… になっているのに,なんで表示が「あ=A1」,「あ=A2」,…  なんだろう???』
とあせってしまいましたが,何の事はない,最初に書いた「あ=A1」,「あ=A2」,…  というセルが「=A1」,「=A2」… によって参照されてるだけでした。

Q別シートのセルを絶対参照にする

office2007、Excelで別シートのセルを絶対参照する方法を教えて下さい。
セルに「=シート名セル番地」を力した場合は、
セル番地を$で絶対参照にしても
参照先シートのその上に行を挿入すると
$A$5を指定していても行を挿入した場合は
自動的に$A$6になってしまいます。
別シートに行を挿入しても参照先のセルを固定する方法を教えて下さい。

Aベストアンサー

INDIRECT関数なら、文字列として範囲を指定できるので、行挿入や列挿入で勝手に指定範囲が変わることはありません。

例:
 INDIRECT(参照文字列,参照形式)
 と、使います。
 =INDIRECT("Sheet1!A1",TRUE)


※ INDIRECT関数の詳細は Excelのヘルプや解説サイトなどで確認してください。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

Qエクセルで特定の行を抽出させる方法について。

エクセルでの関数についての質問ですが、

     A     B    C     D  
 1  名前   日付  場所   時間
 2  Aさん  10/7  工場1   8.0
 3  Bさん  10/7  工場1   8.0
 4  Cさん  10/7  工場2   4.0
 5  Cさん  10/7  工場1   8.0
 6  Aさん  10/8  事務所   8.0
 7  Cさん  10/8  工場2   8.0
 8  Aさん  10/9  事務所   4.0

以上の表から別のシート2にAさんだけの行を抽出するには、どのようにすれば良いのでしょうか?
INDEXやMATCH・LOOKUPを使っていろいろ試したのですがイマイチうまく行かないもので・・・。

因みに、シート2のイメージは

      A     B     C  
 1   名前  :  Aさん 
 2
 3   日付   場所   時間
 4   10/7   工場1    8.0
 5   10/8   事務所    8.0
 6   10/9   事務所   4.0

このような感じです。

よろしくお願いします。

エクセルでの関数についての質問ですが、

     A     B    C     D  
 1  名前   日付  場所   時間
 2  Aさん  10/7  工場1   8.0
 3  Bさん  10/7  工場1   8.0
 4  Cさん  10/7  工場2   4.0
 5  Cさん  10/7  工場1   8.0
 6  Aさん  10/8  事務所   8.0
 7  Cさん  10/8  工場2   8.0
 8  Aさん  10/9  事務所   4.0

以上の表から別のシート2にAさんだけの行を抽出するには、どのように...続きを読む

Aベストアンサー

こんにちは!

極端にデータ量が多い場合はおススメできませんが・・・
一気に表示する方法です。

↓の画像で右側がSheet2とします。
Excel2007以降のバージョンをお使いだとして・・・

Sheet2のA4セルに
=IF($B$1="","",IFERROR(INDEX(Sheet1!B$1:B$1000,SMALL(IF(Sheet1!$A$1:$A$1000=$B$1,ROW(A$1:A$1000)),ROW(A1))),""))
これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定!
この画面から数式をコピー&ペーストする場合は
上記数式をドラッグ&コピー → Sheet2のA4セルを選択 → 数式バー内に貼り付け
→ そのまま(編集可能なまま)Shift+Ctrlキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。
これをC4セルまでコピー!

A4セルの表示形式は「日付」にし、A4~C4セルを範囲指定 → C4セルのフィルハンドルで下へコピー!

これで画像のような感じになります。m(_ _)m꜊

こんにちは!

極端にデータ量が多い場合はおススメできませんが・・・
一気に表示する方法です。

↓の画像で右側がSheet2とします。
Excel2007以降のバージョンをお使いだとして・・・

Sheet2のA4セルに
=IF($B$1="","",IFERROR(INDEX(Sheet1!B$1:B$1000,SMALL(IF(Sheet1!$A$1:$A$1000=$B$1,ROW(A$1:A$1000)),ROW(A1))),""))
これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定!
この画面から数式をコピー&ペーストする場合は
上記数式をドラッグ&コピー → Sheet2のA4セルを選択 → 数式バ...続きを読む

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセル データの一部を固定してオートフィル

エクセルで、常に指定されたセルのデータを参照して、入力された数値を求めるのに、たとえば、

A1に80と入力し、A3からA10までにそれぞれ「21,78,77,65,67,50,91,62」と入力したとします。
で、B3からB10には、「A3/A1」「A4/A1」「A5/A1」・・・というような連続のデータがほしいときに、B3に入力した「A3/A1」を右クリックでひっぱって「連続データ」をクリックすると、「A3/A1」「A4/A2」「A5/A3」・・・といように、全部の値が連続データになってしまいます。
そこで、データの一部(この場合なら「A1」)を固定したまま連続データにすることはできないのでしょうか?

質問がへたくそですみませんが、よろしくお願いします。
EXCEL2003を使っています。

Aベストアンサー

こんばんは。
B3に「A3/$A$1」と入力し、右クリックでひっぱって「連続データ」をクリックすると、「A3/$A$1」「A4/$A$1」「A5/$A$1」・・・というような連続のデータが得られます。これの計算結果は
「A3/A1」「A4/A1」「A5/A1」・・・
と同じです。

Qエクセルで数式の結果が反映されない(自動計算になっているのに)

すいません、教えてください。

エクセル(XP)で数式が自動計算されなくなって
しまいました。

  ※ツールのオプションはちゃんと自動計算に
   なっているのに全く反映されません。

今まで全く問題なく作業できていたので
原因が分からず困っています。

数式等のエラーだとは考えにくいです。
と言うのも数式のあるセルをダブルクリックして
選択し、そのままEnterキーを押すと計算結果が
反映されます。
ただ、今まで全て自動計算されていたのが
全く動かなくなってしまったんです。

同じようなトラブルを経験された方、又は
詳しい方、どうかよろしくお願いします。

Aベストアンサー

原因は分からずじまいになってしまいましたが
同じことがありました。

「Officeの救急隊」を試してみましょう。
ボタン一発で全ての設定が元に戻ります。
http://www.vector.co.jp/soft/win95/util/se247118.html
(ツールバーなども初期状態に戻ります)

私の場合はコレで直ってしまいました^^

参考URL:http://www.vector.co.jp/soft/win95/util/se247118.html

QExcelで日別に入力されたデータを月別に集計するにはどうしたらいいのでしょうか。

Excelで月別の集計をしたいのですが
例えば
  日付    数量
10月25日  200
10月27日  150
10月30日  120
11月 1日  200
11月 3日  150
のように、日付が飛び飛びで連続していなくい日々の数量を、上の行から順番に入力していった場合に(月が替わる行が決まっていない)月別の集計を取る方法はないでしょうか。


 

Aベストアンサー

どのように集計する月を指定するのかが書かれていませんが、例えば11月分の合計を出したいなら

1)11月までの合計から10月までの合計を引く方法
 =SUMIF(A:A,"<=11/30",B:B)-SUMIF(A:A,"<=10/31",B:B)

2)月が「11」のB列を合計する方法
 =SUMPRODUCT((MONTH(A2:A100)=11)*(B2:B100))

なども考えられます。

でもエクセルなら一番オーソドックスな方法はピボットテーブルでしょう。C列に
 =TEXT(A1,"YYYY/MM")
で「2008/11」のような文字列を生成しておいてピボットテーブルで集計すれば、シート上にある全ての月の合計が一発で求められます。
ピボットテーブルの使い方はGoogleなどで検索したらたくさん見つかります
http://www.viplt.ne.jp/tomy/pibot.html


人気Q&Aランキング