No.8ベストアンサー
- 回答日時:
こんにちは!
VBAになりますが一例です。
すべてのエラーセル(#N/Aや#DIV/0!など)が「0」になります。
Sub Sample1()
Dim myRng As Range
Set myRng = ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
If Not myRng Is Nothing Then
myRng = 0
End If
End Sub
※ #N/A のエラーだけを「0」にしたい場合は↓のコードにしてみてください。
Sub Sample2()
Dim c As Range, myRng As Range
Set myRng = ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
If Not myRng Is Nothing Then
For Each c In myRng
If c = CVErr(xlErrNA) Then
c = 0
End If
Next c
End If
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.9
- 回答日時:
No.8です。
VBAでほとんどのコトは可能ですが、いくらVBAだとしても
「Aさん」のセル、「Bさん」のセルの区別が必要です。
単純に1行目から数値が羅列してあってもExcel的にはどこからどこまでが「Aさん」で、
どこからどこまでが「Bさん」なのか?は判断できません。
そこで↓の画像のように同じ列に何らかの区切りが判断できるものがあれば可能です。
あくまで↓の画像の配置の場合のVBAです。(合計の行は空白のままでマクロを実行します)
Sub Sample3()
Dim i As Long, myVal As Variant
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(i, "A") <> "合計" Then
myVal = myVal + Cells(i, "B")
Else
Cells(i, "B") = myVal
myVal = 0
End If
Next i
End Sub
※ 画像では補足どおりにB列に「時間」を表示させていますが、
実際の表ではもっと右側の列になるのが普通だと思います。m(_ _)m
No.7
- 回答日時:
こんにちは
#N/Aで検索は可能なので、数が少なければ、「次を検索」と0のキー入力で処理することも可能ですが、箇所数が多いとそうもいきませんね。
>該当したセルを一括で、置換して0に変換できる方法はないでしょうか?
『セルの値が#N/Aなら無条件で0に置き換える』ということで良ければ、マクロで可能です。
※ 標準モジュールにコピペして実行。
※ アクティブなシートに対して処理されます。
Sub sample()
Dim c As Range, n As Long
n = 0
For Each c In ActiveSheet.UsedRange
If IsError(c.Value) Then
If c.Value = CVErr(xlErrNA) Then
c.Value = 0
n = n + 1
End If
End If
Next c
MsgBox "合計" & n & "ヶ所を置き換えました。"
End Sub
>VLLOKUP関数の数式内の検索値と列番号がそれぞれ違う場合、
>検索して置換する方法はありませうでしょうか?
ご質問の意味がわかりませんが、式そのものを検索したり置換することも、以下の手順で可能です。
1)セルの表示を数式が表示されるようにします。
(数式タブのワークシート分析-数式の表示)
2)上記の表示状態で、通常の検索・置換ダイアログで文字等を入力すれば
関数式などに対しても、通常の文字と同様に検索・置換が可能です。
No.6
- 回答日時:
数式から値に変えたいセルを選択する→
コピー を選択してクリックする。→(何も変わらない!)が、次に、
右クリックから、形式を選択して貼り付け をクリック→
式を数値にする または、値 のタグをクリックしてチェックを付ける!→OK
すれば、かわっている!
または、ロータス123では、範囲→範囲のプロパティー→ # →文字列をクリックしてok
→ダブルクリックすれば変わるので、同じく
数式から値に変えたいセルを選択後、文字列の所をクリック後、ダブルクリックすればいい
違いは、上の方法は、1回限りで、セルを消去したら、元どうり!でも
下の方法は、消去しても、文字列のままです!数式は入力できません!
No.5
- 回答日時:
数式の返り値を置換することはできません。
ですから、式自体を変更する案を出されているのです。
VLOOKUP関数をお使いですから、1列方向でデータが入っているならオートフィルタで「#N/A」データだけ抽出し、上から下まで選択→0を入力しCtrl+Enterでは如何でしょうか?
No.2
- 回答日時:
=IF(ISERROR(A1),0,A1)
は、A1セルが、エラーであれば、0、エラーでなければA1を内容をそのまま返す関数です。
これで、エラーの値のものは、0に変換されて結果を出します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 数式の置換がうまく行かない 6 2022/05/04 15:51
- 工学 疑似乱数生成器 3 2023/01/05 02:06
- その他(Microsoft Office) EXCEL VLOOKUPに関する質問 5 2023/02/08 11:38
- Access(アクセス) Accessで、『"A"以外の場合"--"に置き換える』という作業をしたいのですが、良い方法はありま 1 2022/06/07 19:30
- Excel(エクセル) Excel 参照元の値を参照したい 1 2022/08/20 18:58
- Excel(エクセル) Excelの複数置換はSUBSTITUTEを重ねるしかない? 9 2022/05/08 11:25
- デスクトップパソコン 40年間の悩み キーボードにおいて初期値として漢字ローマ字変換に設定する方法 8 2023/05/08 14:50
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- その他(コンピューター・テクノロジー) 正規表現の置換で一部の文字列をそのまま残したい 2 2022/05/03 19:19
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel関数-文字列で自動作成さ...
-
エクセルの関数について教えて...
-
Excelデータをコピペして、ペー...
-
職場の人から聞かれており、こ...
-
ユーザー定義関数をアドイン登...
-
Excelで50個のセルに同じ文字を...
-
スプレッドシート、Excelでの数...
-
Microsoft Officeの中古は信用...
-
エクセルで不等号記号(≠)が上に...
-
スプレッドシートで使う数式を...
-
エクセルでの特別な文字を上に...
-
エクセル日付 文字列の関数がエ...
-
A列とB列を参照してC列に連番を...
-
エクセルVBA、別ブックへ転記す...
-
各ページの1番上の表示について
-
エクセルでセルに標準で入力さ...
-
EXCELの質問です 119から足した...
-
pdfの表をexcelにはりつけて計...
-
Excelのif関数で文字が見えなく...
-
【マクロ】アクティブセルにブ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報
やってみたのですが、『置換対象のデータが見つかりません。検索対象のデータ書式と条件が適切に指定されていることを確認してください。このブックに一致するデータがあることがあらかじめ分かっている場合は、シートが保護されていないことを確認してください。保護されたシートのデータは置換できません』とメッセージが表示されます。
4000近く該当したセルを一括で、置換して0に変換できる方法はないでしょうか?
該当したセルは、VLOOLUP関数で表示させた数値です。
たとえば全てA1セルというわけではありません。
VLLOKUP関数の数式内の検索値と列番号がそれぞれ違う場合、検索して置換する方法はありませうでしょうか?
下の方で、対応できました!
もう一つ質問させていただきたいのですが、
A1~A12までAさんの勤務時間の月合計が入っていて、A13にその年の合計勤務時間を表示したいとして、A14からはBさんが始まり、それが12ヶ月でなく、5ヶ月の期間でA20にBさんの合計勤務時間を出したい場合(A21からもずーっと名前が連なります)マクロで対応できますでしょうか?