• ベストアンサー

【エクセル関数】参照するセルを一定数ずつ増やす

関数で苦戦しています。 下記のようなIF関数を使用しています。 =IF(A1="","",A1) 参照するセルのA1の部分がA3,A5,A7…となるように 行数を一定数ずつ増やしたいのですが、やり方がわかりません。 どなたか教えてください。 説明が下手でごめんなさい。

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

  • ベストアンサー
  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.3

察しは付きますが、やはりもう少し詳しく説明が欲しいところです。  =IF(OFFSET($A$1,(ROW(A1)-1)*2,0,1,1)="","",OFFSET($A$1,(ROW(A1)-1)*2,0,1,1)) または  =IF(INDIRECT("A"&(ROW(A1))*2-1)="","",INDIRECT("A"&(ROW(A1))*2-1)) こんなでどうでしょう。 ROW関数は指定したセル(省略した場合、記述されているセル)の行番号を返す関数 (ROW関数は、ROW() と括弧の中を省略してもOKです) OFFSET関数は基準のセルから指定しただけずらしたセルを参照する関数 INDIRECT関数は文字列で示されたセルを参照する関数 です。 IF関数は説明の必要はありませんよね。 ちなみに列番号を返すには COLUMN関数を使います。

rs5buzz
質問者

お礼

できました! 説明が不十分にもかかわらず、 的確なアドバイス有難うございました。 OFFSETとINDIRECT勉強してみます。 また、分からなくなったら教えてください。

その他の回答 (2)

  • coffeebar
  • ベストアンサー率49% (216/435)
回答No.2

=IF(A1="","",OFFSET($A$1,ROW(A1)*2-1,0,1,1)) で出来ませんか? 3行ずつずらす場合は =IF(A1="","",OFFSET($A$1,ROW(A1)*3-2,0,1,1))

rs5buzz
質問者

お礼

OFFSET関数っていうんですね。 勉強してみます! 有難うございました。

noname#204879
noname#204879
回答No.1

仰るとおり「説明が下手」です。 意味不明な説明になっている(特に「A1の部分がA3,A5,A7…となるように」の部分)ので、文章だけでなく、レイアウト例を示してください。

関連するQ&A

  • エクセルで指定数まで増えると隣のセルを参照したい

    いつもお世話になっております。 かなりエクセル関数には慣れているつもりですが、どうしても解決しなかったので質問させていただきます。 下の表を用意して、  /  A  / B(表1) 1 / たかし / 3 2 / ひろし / 4 3 / はなこ / 5 下の様に、 たかし1 たかし2 たかし3 ひろし1 ひろし2 ・ ・ ・ と一定数まで増えると下のセルを参照して、「ひろし4」まで行ったら次は「はなこ1」から始まる、そんな動きをしたいのですが、どうすれば良いでしょうか。 いくつか別のセルを用意しても問題無いです。 自分なりに、=A1&B1にして「たかし3」と一致したら「ひろし」に変えようとしてみたり、 「たかし」「たかし」と繰り返して、別のセルで数をカウントして「3」に達したら「たかし」を「ひろし」に変えようとしてみたり、 試行錯誤してみましたが、どうしても循環関数になってしまいます。 どうすれば良いのでしょうか。 ちなみに、IF関数の参照を変数で変えるというのはできますでしょうか?  / C / D(表2) 1 / 10 / 15 セル番地A20に、「=IF(A19=10,1,A19+1)」としておいて「10」をC1から引っ張る変数にして、 10に達したらD1の15を参照する。とすれば最初の質問が解決できると踏んでいるのですが、できませんでした。 もっと簡単な関数などがあれば教えてほしいです。よろしくおねがいします。

  • EXCELのセルで使われている数字を一定毎に増やしたい。

    EXCELのセルで使われている数字を一定毎に増やしたい。 もしかしたら、似たような質問があったかもしれませんが見つけられなかったので質問します。 A1 =日報!D42 B1 =日報!D88 C1 =日報!D134    ・    ・    ・ と、いうように参照されている数字を一定数(ここでは46)毎に増やしたいのですが可能でしょうか? (実際は参照だけではなくIF等の関数が入ったりすることもあります) 数字のみならば二つ選んだ状態でフィルをすると可能なのは判るのですが・・・ どうかよろしくお願いします。 EXCELのバージョン:EXCEL2002

  • EXCELで、セル一つにつき使える関数の数

    エクセルで一つのセルにIF関数を9個以上使おうとすると、エラーになります。8個なら大丈夫です。ヘルプを参照しても、「一つのセルに7個までしか関数を使うことができない。」と書いてあります。それでも、9個以上IF関数を使いたいのですが、何か良い方法はありますか。

  • エクセル 2個セル間の数字があれば、参照する関数を探しています。

    エクセル 2個セル間の数字があれば、参照する関数を探しています。 ■参照部分(参照シート)  A  B  C  1  24  不合格  25 50  再テスト  51 100  合格 ■リスト A  B  C 高橋 79  合格 佐藤 12  不合格  山田 40  再テスト 木下 58  合格 2シートに分かれています。 リストシートのBセルに数字を入れると、自動的にCに合格・不合格が 入るような関数にするにはどうしたらよいのでしょうか。 IFとVLOOKUPの組み合わせでしょうか。 よろしくお願いします。

  • Excelでのセルの参照について

    Excel2000を使っています。 例えば Sheet2のA1に=IF(ISBLANK(Sheet1!A1),"",VLOOKUP(Sheet1!A1,Sheet3!$A$1:$B$100,2,0)) を入れてあります。 これをA列奇数行だけにコピーすると、検索するセルも参照するセルも奇数行になってしまいます。 少数だったら行数を直せばよいのですが、たくさんあって手に負えません。 何かいい方法はありませんか? 助けてください。

  • エクセル関数INDIRECTについて

    エクセル関数 セルの参照についての質問です。 ひとつのBookの中に、AとBのシートがあります。 Aにデーターを入力し、Bに必要な部分だけセルの参照(INDIRECT)関数を使ってデーターを反映させていたのですが、Bのシートだけを別のBookとして保存した場合、INDIRECTの関数を使った部分がエラーの表示になってしまいます。(よく考えればAを参照しているので当たり前なのですが。。。) Bのシートを別のBookに保存しても参照しているデーターが消えない方法(関数)はあるのでしょうか? ご存知の方がいらっしゃいましたらご教授下さい。 (説明が下手ですみません)

  • セルの行数の数字を別のセルの数字から参照するには?

    ExcelのIF関数などで例えば =IF(C5="東京都",0,1)などのようにセルに入力されているもので値を返すものを作成しています。 その際にC5の行数の「5」に当たるものを別のセルの番号から代入して算出することは出来ないのでしょうか? 例えばA1セルに3が入っていたらそのA1の3が参照されて「C3」となるような形です。 お手数をおかけしますが、ご教示をよろしくお願いします。

  • 【エクセル関数】参照するセル

    エクセル関数で教えていただきたいです。 セル参照で、参照するセルを、ある法則道理に参照していきたいのです。 例えば、シートA,シートB、とあったときに、 シートBのC3に → シートAのC3を参照、 シートBのC6に → シートAのC4を参照、 シートBのC9に → シートAのC5を参照、 シートBのC12に → シートAのC6を参照・・・・ ・・・・・・・・・・・ という風に、参照元の列は1行づつ増やしていきたいのですが、 それをシートBでは、3行ごとに表示したいのです。 自分でいろいろ試してみましたが、うまくできません。 こういったことは、関数でできるのでしょうか? もし、あれば、教えていただけると助かります。 よろしくお願いします。

  • セルを参照させる関数について

    C列には関数で返ってきている値が入っています。(たとえば単純にC1のセルには=SUM(A1:B1)と入っている)そのままC1を横にドラッグしてコピーするとD1のセルには単純に=SUM(B1:C1)となりますが、見に行くセルをC2に、E1のセルの参照するセルはC3を。。。という風に参照させるにはどんな関数を使用すればいいのでしょうか? (単純にD1のセルに=C2と設定はしたくないのが前提です)

  • エクセル 関数の参照セルの変更

    ご教示お願いします。 =IF(C5=1,A5/B5,0)という式のC5の部分をD5,E5,F5・・・と変更したいのですが、式の中を手入力で変更するのではなく、他のセル(例えばセルA1)にD5,E5,F5・・・入力すると式C5の部分が変更されるようにしたいです。 例)セルA1にD5と入力すると関数=IF(C5=1,A5/B5,0)が=IF(D5=1,A5/B5,0)に変わるみたいにしたいです。セルA1にD5と入力するのが正しいやり方なのかはわかりませんが。

専門家に質問してみよう