- 締切済み
エクセルで縦列と横列が交わるセルの値を変更したい
エクセルで質問です。 縦列にコンピュータ名 横行に日付があり それぞれの交点のセルに それぞれのコンピュータに稼働時間が書いてあります。 それとは別にエラーリストがあり、コンピュータ名 と 日付が書い てある。 エラーリスト と 稼働時間 のシートを参照し エラーのあった日の 該当コンピュータの稼働時間 を 0 にしたい。 マクロ や vba で 一括処理したいが良い案はないでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- 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シートから探す...を繰り返す。 流れはこんな感じでいいんじゃないですか。