• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel)

Excelファイル内での処理に関する質問

このQ&Aのポイント
  • Excelファイル内での処理に関する質問です。Sheet1とSheet2のデータを連携させる方法についてお聞きしたいです。
  • 質問内容はSheet2のD列とC列についてです。D列に記号がある場合、「処理済み」とC列にコピーしたいです。
  • Sheet2のD列に#N/Aとなるエラー値がありますが、非表示にする方法が分からず困っています。セル(D, 1)の定義について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.1

1. =IF(ISNA(VLOOKUP($A1,Sheet1!$A:$D,4,FALSE)),"",IF(VLOOKUP($A1,Sheet1!$A:$D,4,FALSE)="対象外","",VLOOKUP($A1,Sheet1!$A:$D,3,FALSE))) 2. =IF((1-COUNTBLANK(D1))=0,"","処理済み") >一度、「処理済み」をコピーすると変更できないようにしたいのですが、 どこが変更できないようにするのでしょうか?C列でしょうか?それともD列以降? いずれにしても関数ではできないと思います。マクロを使えば何とかなると思いますが・・・

noname#187796
質問者

お礼

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

noname#187796
質問者

補足

ありがとうございます。 1. >一度、「処理済み」をコピーすると変更できないようにしたいのですが、 対象は(Sheet2)C列です。 2、 教えてください。 (Sheet2)C列の作成です。 (Sheet2)D列と同様の列をE,F,G..と追加します。 「処理済み」をコピーする定義ですが、汎用的に最終列を定義する方法はございますか? あと、COUNTBLANK関数の使い方が分かりません。 ↓例で(Sheet2)D列と同様のE列を追加すると常に「処理済み」がコピーされてしまいます。 =IF((1-COUNTBLANK(D1:E1))=0,"","処理済み") 以上 宜しくお願い致します。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.2

1. 一度、C列を「処理済み」としたら、その後D列が空白になってもC列は「処理済み」のままにしておく、ということですよね? 関数ではできません。マクロを使えばできそうですが・・・ 2. >(Sheet2)D列と同様の列をE,F,G..と追加します。 >「処理済み」をコピーする定義ですが、汎用的に最終列を定義する方法はございますか? D,E,F,G…のどこかにひとつでも記号が入っていたら「処理済み」にする、ということでしょうか? でしたら下の関数を参照してください。 >あと、COUNTBLANK関数の使い方が分かりません。 >↓例で(Sheet2)D列と同様のE列を追加すると常に「処理済み」がコピーされてしまいます。 >=IF((1-COUNTBLANK(D1:E1))=0,"","処理済み") カウントする列がDとEの2列になってますから、 =IF((1- ... を =IF((2- ... にします。3列だったら3-、4列だったら4-....というようになります。 この式だと、D列以降、範囲内のどれかのセルに記号が入っているときに「処理済み」となります。

noname#187796
質問者

補足

ありがとうございます。 汎用的に最終列を検索する方法はございますか? VBAでは、"最終列" = Range("A1").End(xlToRight).Column です。 実施したいことは、今後、(Sheet2)D列と同じデータ項目の列がE,F,G..と増えますので↓イメージになります。 >=IF((最終列-3)-COUNTBLANK(D1:"最終列")=0,"","処理済み") 以上 宜しくお願い致します。

すると、全ての回答が全文表示されます。

関連するQ&A