- ベストアンサー
Excel2007関数についての質問
- Excel2007を使用して集計を行う際に、特定の条件を満たした場合にセルの値をコピーする関数について教えてください。
- 具体的には、B列に「お」が記入されている場合のみ、B列の右隣のセルの値をD1のセルにコピーする方法を知りたいです。
- これまでExcelをあまり使ってこなかったので、関数の基礎や応用について学んだ書籍に載っていない内容で苦戦しています。分かる方、ご教示いただけますでしょうか。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
難しい式を使わなくてもD1セルには次の式を入力して下方にドラッグコピーすればよいでしょう。 =IF(B2="お",C2,"") 式の意味はB2セル(D1セルから1行上で2列左になります)に「お」が有ればB2の右隣のセルの値を表示しなさいとの意味になりますね。 OFFSET関数を使うことはないのですがその関数をD1セルに入力するとしたら、上の条件を満たす式は、次のようになります。 =IF(OFFSET(D1,1,-2)="お",OFFSET(D1,1,-1)) D1セルを基準にしてOFFSET関数を作っています。
その他の回答 (5)
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No5です。 OFFSET関数の式は次のようにしてください。 =IF(OFFSET(D1,1,-2)="お",OFFSET(D1,1,-1),"")
お礼
ご丁寧にありがとうございます。
- Cupper-2
- ベストアンサー率29% (1342/4565)
条件によって表示を変えたいという趣旨ですね。 D1セルには =IF(B2="お",C1,"") こんなんで十分です。 もし、B2セル が "お" 、であればC1セルを参照、違えば空白を表示 って意味です。 D列にこの関数を全て適用する場合は、D1セルをコピーすればOK。 Excelはコピーしたセルを相対参照するように書き換えるので横着ができます。 ※ 相対参照の意味はExcelのヘルプを参照してください。 併せて絶対参照の意味と使い方も調べておくと良いでしょう。
お礼
ご回答ありがとうございます。 私の分かりにくい質問の意味を理解頂き有難うございます。 これで解決できました。 また、他の事項のアドバイスも頂きまして重ねてありがとうございます。
補足
=IF(B2="お",C1,"") 上のC1をC2にすることでうまく行きました。 ありがとうございます。
- keithin
- ベストアンサー率66% (5278/7941)
いったい「何をしたい」のか、もうちょっと詳しい状況を添えて、新しいご相談として投稿し直してみてください。 とりあえず今回ご質問の内容では: >B列に「お」の記入がある場合のみ(B2)、一つ右のセル(C2)の文字列を「お」のセルから右に2、上に1移動したセル(D1)にコピーしたい D1セルに手打ちで =IFERROR(VLOOKUP("お",B:C,2,FALSE),"") と記入し、Enterキーで入力します。
お礼
ご回答ありがとうございます。 確かに例が分かりずらいですね。ごめんなさい。 D列にコピーしたところ全て「か」になってしまうようです。 =IFERRORの関数は初めて見るので調べてみます。
- SakuraiMisato
- ベストアンサー率17% (42/235)
VLOOKUP関数だけで仕上がりませんでしょうか?
お礼
ご回答ありがとうございます。 そうですね、言われてみればVLOOKUPでできますね。 慣れないもので関数とやりたい事と結びつきませんでした。
- minosennin
- ベストアンサー率71% (1366/1910)
一例です。 D1に次の式を入力し、下へ必要数ドラッグ =IF(B2="","",C2) なお、関数式はこの画面からexcelへコピペできます。
お礼
早速のご回答ありがとうございます。
補足
私の勘違いだったらごめんなさい。 この式をD列にコピペしたところ、D1のセルは望みどおりなのですがD2のセルに「け」が入力されてしまいました。 B3は「お」ではないのでD2のセルは空欄のままとしたいのです。 方法を御存知ならばお手数ですがご教示下さい。
お礼
ご回答ありがとうございます。 私の分かりにくい質問の意味を理解頂き有難うございます。 IF関数でできると気が付かず、色々と調べてOFFSET関数に辿り着いてしまいました(^_^;) OFFSET関数の解説までして頂き有難うございます。 これから色々とEXCELについて学んでいくつもりですがかなり奥が深いですね。ありがとうございました。