- ベストアンサー
エクセル関数の詳しい方ご教示ください。
エクセルの詳しい方、ご教示ください。 A B C D E F G(表示したい列) 1行目 2 3 5 7 9 2 =知りたい関数 2行目 4 5 8 9 1 2 上記のようなランダムな数値データがあり、 ・Aの列に表示している数字の数だけ、 ・Bから右の列に移動した数字を、 ・Gの列に表示したい と、思っています。 例で考えると、 G1のセルは7 G2のセルは2 と表示されるイメージです。 Gにはどのような関数を使えばよいでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
G1には =IF(OR(A1="",A1<0,4<A1),"",OFFSET(B1,0,A1)) などのような関数を入れて,下向けにつるつるっとコピーしておきます。 以下余談: #A列に正しい数字が素直に入っている場合だけを考えるなら,もっと単純な式にしても構いません。 逆に言うと「実はこんな事がしたかったんです」がホントは別にあるなら,もっと色々考えて組み込まないとダメかもしれません。 #同じような機能の関数としてはINDEX関数やINDIRECT関数もあります。 しかしご相談の場合,INDEX関数ではA列にゼロが入っていた場合の処理が複雑になるので適切ではありません。またINDIRECT関数は横方向の可変処理はちょっと見慣れないカタチを使う必要があるので,(ワタシは好きですが)お薦めではありません。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
OFFSET関数かかINDEX関数利用だと思う 例データ A-F列 2 3 5 7 9 2 4 5 8 9 1 2 3 4 5 9 5 6 I列に、I2に =INDEX($B1:$H1,1,A1+1) と入れて下方向に式を複写する。 結果 I列 7 2 5 該当無しのエラーなどは組み込んでない。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! こういうことでしょうか? G1セルに =OFFSET($B1,,A1,,1) という数式を入れオートフィルで下へコピーしてみてください。 (エラー処理はしていません) 外していたらごめんなさいね。m(__)m
お礼
回答、ありがとうございました。 一番早く回答いただけ、問題が解決できましたのでベストアンサーとさせていただきました。 また、ご推察いただきましたとおり、A列にゼロが入るパターンもありました。 本当にありがとうございました。