• ベストアンサー

エクセルの数式内でそのセルの行や列は取得できますか?

エクセルの数式内でそのセルの行や列は取得できますか? マイクロソフトExcelを使用しています。 ご存じの通りエクセルでは数式が使用できますが、たとえば =A1+B1 みたいなのを =A現在の行+B現在の行 のような指定法にすることは可能でしょうか? というのも沢山同じ意味の数式を行や列が変わる度に ずらずらと記述するような場面が多く、こういうことが出来たら 便利だなぁと思ったからです。

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.4

次の関数の組合せで出来ますが・・・ row関数 = 行を求め数字で表す column関数 = 列を求め数字で表す address関数 = 数字で指定されたaddressを文字列で表す indirect関数 = 文字列で指定されたaddressを参照形式にする >=A現在の行+B現在の行 =indirect(address(row(),1))+indirect(address(row(),2)) この様になってしまいますよ =$A1+$B1 と同じなので 他の回答者さんの言われている 絶対参照、相対参照を覚えた方が簡単ですよ 数式が簡単なものであれば良いですが 複雑なものになると手におえなくなります 参考まで

RockmanX
質問者

お礼

詳細に違いを教えてくださってとても助かります! いろいろな手法があるんですね。 一通り試してみたいと思います。ありがとうございました!

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

その他の回答 (3)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

一例です。 =INDIRECT("A"&ROW())+INDIRECT("B"&ROW())

RockmanX
質問者

お礼

おお、これは使えそうですね。ありがとうございます!

全文を見る
すると、全ての回答が全文表示されます。
  • tadagenji
  • ベストアンサー率23% (508/2193)
回答No.2

式を入力するときにf4キーを押すことにより相対指定-絶対指定が切り替えられます。 ex: =A1+B1  の場合、   A1入力後または、A1にカーソルを置いて、f4を押せば   $A$1 となり絶対指定に、 もう一度 f4を押せば   $A1 となりA列の絶対指定で行は相対指定となります。 以下略 その式をコピーしてみて結果を確認してください。

RockmanX
質問者

お礼

そのような指定方法があったんですね! 早速試してみることにしますありがとうございました。

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

可能ですが、沢山同じ意味の数式を行や列が変わる度にずらずらと記述するような場面が多いのだとすると、数式内の$A$1とかA$1とか$A1等の使い方はできませんでしょうか。 ドラッグコピーの使い方はできませんでしょうか。

RockmanX
質問者

お礼

ごめんなさい、一昨日から初めてエクセルにさわり始めたので $A$1などの使い方は初めて知りました。 ドラッグコピーは出来るときと出来ないときがあるみたいで、 どういう状況で出来るのかがまだよく分かっていません・・。

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

関連するQ&A

  • エクセルVBAについてお尋ね致します。数式が入力されたセルを異なるセル

    エクセルVBAについてお尋ね致します。数式が入力されたセルを異なるセルの条件によって「値」のみ残す方法を模索しております。 使用する列および行の例 列=A、B  行=5~10、15~20、25~30(A列、B列共通) 上記対象セルの内訳 A列(参照セル)=数値 ※空欄の場合もあります B列(変更セル)=数式(Aセル数値 * ○○%) ※B1セルの例:=IF(A1="","",A1*10%) のような数式が記入されております。 (例) Private Sub CommandButton1_Click() ’参照セルの指定 ("A5:A10","A15:A20","A25:A30") のようなコード*** ※現在はAセルの範囲としておりますが、後に変更の可能性を有しますので範囲指定が可能な形式を望みます。 ’変更セルの指定 セル指定のコード*** ※現在はBセルとしておりますが、これも後に変更の可能性を有しますのでA・B・Cのような入力(もしくはA=1、B=2、C=3)による指定可能な形式を望みます。 ’参照セル(Aセル)に数値が入力されている場合、数式から得られた変更セル(Bセル)の値を”値のみ”で残す。 実行コード*** ※参照セル(Aセル)が空欄の場合は変更を望まないので、変更セル(Bセル)は何も致しません。(数式のまま残す) End Sub このようなマクロを望んでおります。 イメージとしては数値がAセルに入力されていた際に同じ行のBセルにおいて右クリックコマンド内〔コピー〕 → 〔形式を選択して貼り付け〕 → 〔値〕の貼り付けを行うことをご想像下さい。 列や行の変更が予想されるので変更が可能なことを望んでおりますが、結果が伴えば他の体裁は気に致しません。 お手数ですがご教授宜しくお願い致します。 以上

  • Excel 条件付き書式◆ 同じ行の特定のセルを指定するには

    A列には、ずらーっと、日付の数値が入っています。 B列には、「その日の行動スケジュール」の文字列が入っています。 ”今日”になったら、その日付に該当するB列の「行動スケジュール」だけ文字の色を変えたいと思いました。 このとき、列全体を範囲指定して、「条件付き書式」を設定しようと思ったのですが、数式の書き方がわかりません。 まず、B列のBのところをクリックして列全体を指定した上で、「条件付き書式」の設定のダイアログを出し、「数式が」を選択すればいいだろうというところまではわかります。 しかし、数式において、どのように記述すると、”B列の特定のセルと同じ行にあるA列のセル”だけを選択できるようになるのかがかわかりません。 おそらく、下の●のところに、同じ行にあるA列のセルだけを指定するための記号が入ると思うのですが、手本がどこにも見つかりません。 =●●=today()

  • Excel の数式を教えて下さい。

    Excel 2003 を使用しております。 A列 の A2 から A10 のセルに数値データが入っています。 この A列 数値データの中の最大数値のセルと、同じ行の E列 のセルの数値を B1 のセルに表示する数式を教えて下さい。 要約: A列 の最大数値のセル、例えば、A5 とすると E5 のセルの数値をB1 のセルに表示。 宜しくお願いいたします。

  • エクセル2007で数式の対象セルを目立たせるには?

    エクセル2007で、A列にあるデータの一件ごとの数値、B列に1日ごとの合計を出しています。 1日何件と決まっていないので、B列に「SUM(A1:A6)」などとしていますが 足し算の対象になっている()内がA7の1件だけだったりA8~A12の4件だったりします。 B列の各数式で、対象先が重複する事はありません。 毎回F2を押すと対象先が枠で囲われるのでわかるのですが、誰が見ても一目でわかるようにしたいと思います。 例えばB列セルの数式に登場するA列のセルを2,3パターン色わけするとしたらどう指定すればいいでしょうか。

  • Excelの数式の打ち込み方で???

    Excelで、Aに対してbは何割にあたるのか、割合を計算する数式を使いたいのですが、どのように数式をうちこんだらよいのでしょうか? もう少しくわしく言いますと・・・。 E列に2行目から10行目までのセルに、9つの数(仮にb)が打ち込まれています。それらの数が、D列11行のセル上の数(仮にA)に対して、何割にあたるのかを自動的に計算したいのです。 b÷Aでその割合は出るわけですが、Excel上ではどのように処理すればその計算ができるのかよくわかりません。 fxのところから数式を打ち込もうと思っても、関数の種類がアルファベットでならび、どれを選択したらよいのかもわかりません。 わからないことの説明がへたで申し訳ありませんが、もし質問の意味がわかり、やり方がわかる方がいらっしゃいましたら、ご回答ください。 数式関係に不慣れですみません。 よろしくお願いします。

  • エクセルの関数の数式がわかりません。

    A列 B列 1 10 2 20 3 30 a 4 40 エクセルの関数の数式がわかりません。 B1~B4のどこかにaの入力があった場合、aの入力がある行と同じ行のA列に入力されている数字を別のセルに表示させたいです。 例えば、上記のようにB3にaがあるので、A3の30を、別のセルに自動で30と出るようにしたいです。 B列には、ランダムにaを入力しますので、aが別の行にある場合もあります。 この場合の数式を教えてください。 よろしくお願い致します。

  • エクセルの行にあるものを列にする数式

    エクセルの数式を使って、行に入っているものを別のシートの列に入力することについて質問です。 例(シートA)    A  B  C  D 1  月 火 水 木 2  10 20 30 40 ABCDが列番号、1,2が行番号です。 このように入力したシートがあります。 そして、違うシートには下のように入力したいのです。 例(シートB)    A  B  C  D 1  月 10 2  火 20  3  水 30 4 木 40 (ずれてしまってすみません) シートBの『10,20,30,40』のところに数式を入れたいのですが、シートAに入力した時に、シートBにそのまま反映されるようにしたいのです。 ちなみに、シートBのB1(10となっているところ)に『=シートA!A2』と入力して、それをシートBのB列全体にコピーすると、シートAのA列部分を縦によんでしまうので、反映されません。 シートAでは横によんでいって、それをシートBでは縦に表示する、というところです。 このような説明でわかりましたでしょうか? $マークも使って絶対値もやりましたが、それでもダメでした。 いい方法をご存知のかた、よろしくお願いいたします。

  • エクセルで数式が入ったセルを空白にしたい。

    エクセルで数式が入ったセルを空白にしたい。 A1に"100"と言う数字、 B1はA1と同じ数値を自動入力させているので"=A1"という式が 入ってます。このB1の数式をB2からB10までコピーしているのでA2からA10に入力した数値が 反映されます。しかしA列にはいつも数値が入力されているわけではなく空白にする場合もあります。 でもB列の数式はコピーされてるので"0"が残ります。 そこですべて入力終了後にこのB列に自動で入力された"0"を削除したいのですが 置換で"0"にしても入ってるのは数値じゃなくて数式なので該当なしになるし、 数式も列ごとに移動されてるので一定ではありません。 この"0"を一括で削除するにはどうすればいいでしょうか? 入力範囲は500行まで及ぶのでいちいち"0"を探して削除するのが大変です。 分かりにくい質問ですいませんがよろしくお願いします。

  • エクセルで数式が入ったセルを空白にしたい。

    エクセルで数式が入ったセルを空白にしたい。 A1に"100"と言う数字、 B1はA1と同じ数値を自動入力させているので"=A1"という式が 入ってます。このB1の数式をB2からB10までコピーしているのでA2からA10に入力した数値が 反映されます。しかしA列にはいつも数値が入力されているわけではなく空白にする場合もあります。 でもB列の数式はコピーされてるので"0"が残ります。 そこですべて入力終了後にこのB列に自動で入力された"0"を削除したいのですが 置換で"0"にしても入ってるのは数値じゃなくて数式なので該当なしになるし、 数式も列ごとに移動されてるので一定ではありません。 この"0"を一括で削除するにはどうすればいいでしょうか? 入力範囲は500行まで及ぶのでいちいち"0"を探して削除するのが大変です。 分かりにくい質問ですいませんがよろしくお願いします。

  • エクセル 行も列もバラバラの入力されたセルを…。

    エクセルで質問です。 COUNTIF関数などで、縦列や行では簡単に数えることが、 出きると思います。 行も列もバラバラのセルで、入力されたセルを カウントする式はどう設定すればいいのでしょう? =COUNTIF((A11,A18,A25,A32,A39,A46,A53),">0") では、うまくいきませんでした。 セルを結合させたりしていますので、 セルを指定してカウントしたいのですが? 以上、よろしくお願いします。

専門家に質問してみよう