• 締切済み

エクセルで縦列と横列が交わるセルの値を変更したい

エクセルで質問です。 縦列にコンピュータ名 横行に日付があり それぞれの交点のセルに それぞれのコンピュータに稼働時間が書いてあります。 それとは別にエラーリストがあり、コンピュータ名 と 日付が書い てある。 エラーリスト と 稼働時間 のシートを参照し エラーのあった日の 該当コンピュータの稼働時間 を 0 にしたい。 マクロ や vba で 一括処理したいが良い案はないでしょうか?

みんなの回答

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.2

エラーリストの日付とコンピュータ名から、vlookup/hlookupを使えば 稼働時間表の左肩から何番目のセルがエラーに該当するか分かりますよね。 あとは RANGE(左肩セル).OFFSET(x,y)=0 こいつを繰り返せばいいかと。 VBAを知っていればそれほど難しい処理ではないですよね。むしろ、問題は エラーリストを上からなめる方法じゃないかと。こちらのほうはFOR EACHで やればカッコ良いですが、素直に do while で空白が見つかるまで回すんで いいじゃないかと思います。

  • kenpon24
  • ベストアンサー率64% (66/102)
回答No.1

1.エラーリストと稼働時間のシートとは別に、もう1つシートを作る。(あらかじめ用意するでもいい) これをAシートと呼ぶ。 2.Aシートに稼働時間シートの内容をコピーする。 3.エラーリストシートのコンピュータ名1つと一致するコンピュータ名をAシートから探し出す。 4.コンピュータ名が見つかったら、該当する日付を探し出す。 5.日付が見つかったら、0を入力する。 6.エラーリストの次のコンピュータ名を、またAシートから探す...を繰り返す。 流れはこんな感じでいいんじゃないですか。

関連するQ&A