- ベストアンサー
エクセル関数、変数の設定について
- エクセルで変数を使用して処理を簡単にする方法について教えてください。
- セルに変数を設定し、その変数を使って SUMIF 関数を利用した計算を行いたいです。
- 具体的な処理のための数式と、利用するセルの範囲についても教えていただけると助かります。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
INDIRECT関数だけで対応するなら、以下の式を入力して下方向にオートフィルすことになります。 =SUMIF(INDIRECT("Sheet2!C5:C"&$A$1),"1イ",INDIRECT(CHAR(ROW(A69))&"5:"&CHAR(ROW(A69))&$A$1))
その他の回答 (5)
- kagakusuki
- ベストアンサー率51% (2610/5101)
回答番号:ANo.3,4です。 >超初心者にはまだ、理解できませんでした。 どの辺りが解らないでおられるのでしょうか? 数式の意味が解らないのでしょうか、それとも、数式をExcelに入力して行く方法が解らないのでしょうか? もしかしますと、今現在は見慣れない表現に戸惑われて、「理解出来る筈が無い」という先入観に捕らわれておられるだけなのではないでしょうか。 コンピューター言語でプログラムを組む事が出来るのでしたら、Excelの関数は決して難しいものでは御座いませんから、落ち着いて、数式がどの様な関数の組合せから成り立っていて、数式中の各部分はどの様な働きをしているのかを調べて行けば、理解出来る様になると思います。 Excelの基本的な操作方法や使用する関数等に関しては、書店等にExcelの入門書や参考書が何冊も売られていますし、下記の様なサイトも御座います。 【参考URL】 Excel(エクセル)学習室 http://www.kenzo30.com/ よねさんのWordとExcelの小部屋|Excel(エクセル)入門/基本/上級/実用講座の総目次 http://www.eurus.dti.ne.jp/~yoneyama/Excel/Exl-_zen.htm このまま「理解出来ない」で終わらせてしまっては、Excelの御仕事を進める事も出来ないと思います。 取り敢えずは、どういった処が解らないのかを御知らせ頂ければ、それに対して回答する事も出来るかと思いますので、補足されては如何でしょうか。
- imogasi
- ベストアンサー率27% (4737/17069)
エクセル関数式で、「42」、「60」、「120」という数値(リテラル値という)を直接使わないのは、A1と言う番地を使い、A1に入れた数値で計算等するという便利さがあるからであう。 外に式複写の場合の行列部の変化を使えるとか。 そのA1の値を質問の式のどの部分で使おうとするのか。 42の例が出ているので、 Sheet2!$C$5:$C$42の42の部分を変えたいということか。 こんなことを回答者に推測でやらせようと言うのは乱暴で、質問者の質問内容の表現の不適切さ、その説明力の無いことのの証拠ではないか。 質問でははっきりさせること。 いずれにしろ、セル番地を可変にするには、INDIRECT関数しかないだろう。 INDIRECT関数の引数のセル番地は文字列で指定する。 A1の値が数値(例 42)であっても=INDIRECT("A"&A1)で、( )内は文字列になり、=A42セルと同じに扱ってくれる。
お礼
ありがとうございました。助かりました。 当方超初心者で、しかし業務はこなさなければなりません。与えられた仕事を、「エクセルなんて見たことありません。出来ませんともいえず、・・・」この年でエクセルの勉強はきついです。 フォートランでしたら、自由にソフトが組めるのですが、畑違いの部門はつらい! 初心者で説明がおぼつかなくてすみませんでした。
- kagakusuki
- ベストアンサー率51% (2610/5101)
回答番号:ANo.3です。 申し訳御座いません、1つ目の数式を記述する際に入力ミスが御座いました。 【誤】 =SUMIF(INDIRECT("Sheet2!C5:C"&$A$1-4),"=1イ",INDIRECT("Sheet2!R"&5&"C"&ROW(5:5)&":R"&$A$1-4&"C"&ROW(5:5),FALSE)) 【正】 =SUMIF(INDIRECT("Sheet2!C5:C"&$A$1),"=1イ",INDIRECT("Sheet2!R"&5&"C"&ROW(5:5)&":R"&$A$1&"C"&ROW(5:5),FALSE))
お礼
ありがとうございました。助かりました。 当方超初心者で、しかし業務はこなさなければなりません。与えられた仕事を、「エクセルなんて見たことありません。出来ませんともいえず、・・・」この年でエクセルの勉強はきついです。 フォートランでしたら、自由にソフトが組めるのですが、畑違いの部門はつらい! 初心者で説明がおぼつかなくてすみませんでした。 もしできるなら、この数式が楽でいいのですが、超初心者にはまだ、理解できませんでした。
- kagakusuki
- ベストアンサー率51% (2610/5101)
J6セルやL列は不要で、次の様な数式となります。 =SUMIF(INDIRECT("Sheet2!C5:C"&$A$1-4),"=1イ",INDIRECT("Sheet2!R"&5&"C"&ROW(5:5)&":R"&$A$1-4&"C"&ROW(5:5),FALSE)) 又は =SUMIF(OFFSET(INDIRECT("Sheet2!C5"),,,$A$1-4),"=1イ",(OFFSET(INDIRECT("Sheet2!D5"),,ROW(1:1),$A$1-4))) もし、元データのリストに削除や切り取り等の編集作業が加えられる事が無い場合には、 =SUMIF(OFFSET(Sheet2!$C$5,,,$A$1-4),"=1イ",(OFFSET(Sheet2!$D$5,,ROW(1:1),$A$1-4))) で十分です。
- kybo
- ベストアンサー率53% (349/647)
J6に「Sheet2!$C$5:$C$42」と入力されていて、42の数字だけ、A1のセルを参照したいということであれば、 J6を ="Sheet2!$C$5:$C$"&A1 という数式に書き換え、A1のセルに42とか60とか入力すればよろしかと思います。
お礼
ありがとうございました。助かりました。 当方超初心者で、しかし業務はこなさなければなりません。与えられた仕事を、「エクセルなんて見たことありません。出来ませんともいえず、・・・」この年でエクセルの勉強はきついです。 フォートランでしたら、自由にソフトが組めるのですが、畑違いの部門はつらい! 初心者で説明がおぼつかなくてすみませんでした。
お礼
ありがとうございました。助かりました。 当方超初心者で、しかし業務はこなさなければなりません。与えられた仕事を、「エクセルなんて見たことありません。出来ませんともいえず、・・・」この年でエクセルの勉強はきついです。 フォートランでしたら、自由にソフトが組めるのですが、畑違いの部門はつらい! 初心者で説明がおぼつかなくてすみませんでした。 もしできるなら、この数式が楽でいいのですが、超初心者にはまだ、理解できませんでした。