=IF(E2="","",VLOOKUP(E2,コード!$A2:$B1014,2,0))

上記の$A2の部分の2のみを1に置き換えたいのですが

$A2~$A1014まであるので*としました。

置換で、
検索文字列→ A*
置換え文字列→ A1
では、エラーになるのですが
何がいけないのでしょう?

このQ&Aに関連する最新のQ&A

A 回答 (5件)

回答番号:No.1 kozirou54さんの方法で良くないのでしょうか?



>$A2~$A1014まであるので*としました。
>置換で、
>検索文字列→ A*
>置換え文字列→ A1
>では、エラーになるのですが
>何がいけないのでしょう?
上記の結果、数式
=IF(E2="","",VLOOKUP(E2,コード!$A2:$B1014,2,0))
が「置換」されて
=IF(E2="","",VLOOKUP(E2,コード!$A1
となってしまいます。
これでは数式として成立しません。

検索文字列が
A*
では
A以降の文字すべてが「置換」の対象になります。
今回の例では、* の前後を「置換」対象外の文字列を含めて指定します。

対象数式セル範囲を選択
A*:

A1:
に「すべて置換」
以上で、「A」と「:」に挟まれた、行番号だけが「置換」されます。

数式セルが連続しているなら、数式をフィルコピーする方法もあります。
最上行の数式セルを選択
Shift+Ctrl+↓キーで、数式セル範囲を習得
F2キーで、アクティブセルを編集モードにする
数式
=IF(E2="","",VLOOKUP(E2,コード!$A2:$B1014,2,0))

=IF(E2="","",VLOOKUP(E2,コード!$A$1:$B1014,2,0))
と書き換え、Ctrl+Enterキーで確定
上記操作で、一気に選択セル範囲に数式がフィル入力されます。
    • good
    • 0
この回答へのお礼

できました!
>対象数式セル範囲を選択
A*:

A1:
に「すべて置換」
以上で、「A」と「:」に挟まれた、行番号だけが「置換」されます。

「:」を見落としていました。
どうもありがとうございました。

お礼日時:2009/05/18 13:43

単純に


=IF(E1="","",VLOOKUP(E1,コード!$A1:$B1013,2,0))

=IF(E1="","",VLOOKUP(E1,コード!A$1:B1013,2,0))
にしてオートフィルし直せば良いと思いますが。
最後の0は0のままでFALSEに変える必要は無いと思います。
ファイルの容量が肥大するだけですから。
    • good
    • 0
この回答へのお礼

A*:

A1:
に「すべて置換」
・・で解決いたしました。
みなさんどうもお手数おかけいたしました。

お礼日時:2009/05/18 13:47

NO2です。


次の方法は如何でしょうか。
検索文字列は「A*,」、置換文字列は「$A$1:$B$1014,」

当初の数式でVLOOKUP関数の検索範囲を列・行を絶対参照にしておけばよかったと思いますが如何でしょうか。
=IF(E2="","",VLOOKUP(E2,コード!$A$1:$B$1014,2,FASLE))
因みにVLOOKUP関数の第4引数は、面倒でも「TRUE、FALSE」と記載した方が良いと思います。
    • good
    • 0
この回答へのお礼

再度ありがとうございました。

A*:

A1:
に「すべて置換」

で解決しました。ありがとうございました。

お礼日時:2009/05/18 13:45

「A*」は、A文字以降すべてが対象になりますので、VLOOKUP関数でエラーになります。



>$A2~$A1014まであるので*としました。
⇒この記載が分かりませんので補足して下さい。
 因みに単純にA2をA1ではだめなのでしょうか?

この回答への補足

回答ありがとうございます。
部分的な質問でわかりにくくすいません。

A2だけでなくA3・・・A1014まであるのです。
オートフィルでコピーしたため下記のようになってしまうので

=IF(E4="","",VLOOKUP(E4,コード!$A3:$B1014,2,0))
=IF(E5="","",VLOOKUP(E5,コード!$A4:$B1015,2,0))
=IF(E6="","",VLOOKUP(E6,コード!$A5:$B1016,2,0))
                       ・
                       ・
                       ・
                       ・
とコード!$A1014まであるので一括で置換えしたいのです。

※コード表を作ってあるA1:B1014まで参照したいためなのです。

>「A*」は、A文字以降すべてが対象になりますので、VLOOKUP関数でエラーになります。
ということは無理なのかも?

補足日時:2009/05/18 11:52
    • good
    • 0

Aの右側の数字が1桁ならいいですが、2桁以上になるとまずいのでは……。


A21 → A11
というふうに置換されてしまいます。

A*: → A1:
とすれば、1桁のものだけが置換されます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

>Aの右側の数字が1桁ならいいですが、2桁以上になるとまずいのでは……。
A21 → A11
というふうに置換されてしまいます。

まずいですね。

A*: → A1:
とすれば、1桁のものだけが置換されます。

これもまずいですが、それ以前に、「正しい数式を入力してください」と
エラーになるのです。

一つずつ直すしかないかもですね?

お礼日時:2009/05/18 12:00

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


人気Q&Aランキング