プロが教える店舗&オフィスのセキュリティ対策術

エクセルの関数で質問です。上のセルになんらかの文字が入っていた場合、左のセルに入っている文字を返すにはどういう記述をしたらよいでしょうか。

返す文字は固定ではなく、左隣に入っている文字(数字)を返したいです。
この記述を結構大量のセルに入力するので、どのセルにも共通した記述を教えていただけるとなお良いです。

よろしくお願いします。

A 回答 (6件)

エクセルの共通の操作ですが,あるB2セルに「上があったら左を返す」


=IF(B1="","",A2)
という式を入れておきます。

このB2セルをコピー,結構大量の「目的のセル」を選んでただ貼り付けると,共通でそのように動作する式に自動で書き換わって投入されます。
それぞれのセルにそれぞれのセル番地の式を,いちいち書き換えて記入していく必要は全くありません。
    • good
    • 0
この回答へのお礼

大変シンプルで分りやすい回答、ありがとうございました!
無事に表を作成できました。ありがとうございます。

お礼日時:2010/05/12 17:06

参考に


>どのセルにも共通した記述を教えていただけるとなお良いです

殆どの人が使いませんが,そういったやり方でExcelを使えるよう設定する事も出来ます。
手順:
ツールメニューのオプションの全般でR1C1形式のチェックを入れる
シート上端の列番号のABCの表示が123に変わったら
全てのセルに共通で
=IF(R[-1]C="","",RC[-1])
という式を記入する

参考:式を記入後,R1C1のチェックを外すと従来の(コピーして書き換わったのと同じ)式の表記に代わります
逆に従来の表記で式を記入し,コピーして式が書き換わったあとにR1C1のチェックを入れると,どれも自動的に同じ表記の式で記入されている様子を確認できます。



また
>どのセルにも共通した記述を教えていただけるとなお良いです

先に回答したようにそういった式を書きたいというのはエクセルの使い方としては良くないのですが,敢えて作成してみると

基本形:
=IF(B1="","",A2)

簡単な例:
=IF(INDIREC("R[-1]C",FALSE)="","",INDIRECT("RC[-1]",FALSE))
 をどのセルに入れてもよい
メンドクサイ例:
=IF(INDEX(B:B,ROW()-1)="","",A:A)
 をB列のどのセルに入れても良い
=IF(1:1="","",INDEX(2:2,COLUMN()-1))
 を2行目のどのセルに入れても良い
 適正な式をわざわざ設計しないといけないのがダメな理由です。
    • good
    • 0
この回答へのお礼

親切な回答ありがとうございました。大変参考になるご指導、感謝いたします。勉強させていただきます。

お礼日時:2010/05/12 17:12

例えば1行目に文字がるかどうかを判断して、1行目に文字があれば左の列のデータを表示させるとしたらB2セルには次の式を入力すればよいでしょう。



=IF(B$1<>"",A2,"")

この式を右横方向にオートフィルドラッグしても良いでしょう。
上のセルを1行目のセルとは限らないのでしたら次のような式を期待しているのでしょうか?

=IF(AND((COUNT(B$1:B1)+COUNTIF(B$1:B1,"?*"))>0,A2<>""),A2,"")

この式をB2セルに入力して右横方向にオートフィルドラッグしたのちに下方にもオートフィルドラッグします。
    • good
    • 0
この回答へのお礼

ありがとうございます。近い回答を先にいただいたのでそちらをベストにしましたが、KURUMITOさまの回答も大変参考になりました。勉強になります。ありがとうございました。

お礼日時:2010/05/12 17:09

すいません勘違いしていました。


真逆の回答してしまいました

(回答)
=IF(ISBLANK(B1),"",A2)

正しくはこちらです。すいません。
    • good
    • 0

セルの内容に応じて判断させるのは


「IS~」ではじまる関数を使うといいと思いますね

セルが空白であるかそうでないことを調べるのは
ISBLANK関数です

=ISBLANK( )

とすると( ) で指定したセルが
空白の時TRUE、そうでないときFALSEを返します。


IS始まりの関数にはそのほかにも
セルの内容が文字列である場合とか数字である場合とか、
あるいはエラーである場合とかいろんな種類がありますので
組み合わせ次第で応用できますよ


IF関数を使用して
TRUEの時(つまり上のセルが空白の時)と
FALSEのとき(つまり空白でないとき)の条件に応じた処理を行います。
ようするにTRUEのとき左隣にあるセルを返します。
Falseのときは空白 ("") を返します。

これを組み合わせるとこうなります。
この式はB2セルに入れる式です。

(回答)
=IF(ISBLANK(B1),A2,"")

B1(上のセル)が
空白の時は左となりA2の内容を
そうでないときは空白””を返します。
    • good
    • 0
この回答へのお礼

丁寧な回答、ありがとうございました。ぜひとも今後の勉強にさせていただきます。

お礼日時:2010/05/12 17:07

=if(istext(上のセル番地,左のセル番地,返さない場合のデーター)


返さない場合のデータは、数字で良ければ 0 を、入力
文字の法が良ければ '' (’を2個入力)すると良いでしょう
    • good
    • 0
この回答へのお礼

ありがとうございます。そういう方法もあるのですね。勉強になります。

お礼日時:2010/05/12 17:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!