[EXCEL]LOOKUP関数の戻り値とセルの書式の関係
現在(たぶん同じ理由で)2点ほど困っていることがあります。
以下のようにLOOKUP関数を使ってセルに値をセットしています。
<Sheet1のレイアウト>
|A列|B列 |C列
|-|----|----
|a |あああ |・・・
|b |いいい |・・・
|c | |
|d |かかか |・・・
<Sheet2のレイアウト>
|A列|B列 |C列
|--|-------------------|-
|a | =LOOKUP(A1,Sheet1!A:A,Sheet1!B:B) |
|b | =LOOKUP(A2,Sheet1!A:A,Sheet1!B:B) |
|c | =LOOKUP(A3,Sheet1!A:A,Sheet1!B:B) |
まず1つめです。
今まで、Sheet1は別ブックのマクロで出力された値を[コピー]→[形式を選択してはりつけ]→[値]ではりつけていました。このときはSheet2のB3のセルにはブランクが入っていたのですが、誤ってSheet1のセルに直接値を入力したり、[F2キー]→[Enter]をしてしまったためSheet2のB3のセルにはブランクをセットしたいのに0(ゼロ)が入るようになってしまいました。
B3のセルにブランクがセットされるように戻したいのですがどうしたらよいでしょうか?
次に2つめは、
Sheet2は他の列もB列と同様の式によって値がセットされていますが、列によって右詰で表示されたり中央揃えで表示されています。
Sheet1、Sheet2ともにすべて書式は「文字列」で、
Sheet2には「右詰」「左詰」などの書式は設定されていません。これはなぜでしょうか?
1つめは、IF文でLOOKUP関数の戻り値が0だったらブランクをセットするなどに式を変更すれば解決するとは思いますが、このような式が至るところで使ってありますので式を変更するにも時間がかかるため、また今後のためにも原因と対策をしりたいと思います。どなたかわかる方がいらっしゃいましたら回答よろしくお願いします。
お礼
ご回答ありがとうございました。 単発の仕事だったのでマクロを組むほどではないと感じ、 何とかそれ以外でできないものか?と質問させていただきました。