ブルースクリーン(BSOD)が出たときの確認ポイント【Windows 11】

Windows 11 を使っていると、ある日突然現れる「ブルースクリーン(青い画面)」。


正式名称は BSOD(Blue Screen of Death) で、OS が重大なエラーを検出した際に表示されます。

この記事では、BSOD が出たときに必ず確認すべきポイントと、原因追跡の方法再発防止策を分かりやすく解説します。


1. 最初に確認すべきは「エラーコード」

ブルースクリーンには STOP コードが表示されます。
例:

  • MEMORY_MANAGEMENT

  • CRITICAL_PROCESS_DIED

  • IRQL_NOT_LESS_OR_EQUAL

  • UNEXPECTED_STORE_EXCEPTION

この STOP コードは、Windows が「どの種類のエラーで落ちたか」を示す主要手掛かりです。

● STOP コードの確認方法

ブルースクリーンの画面写真をスマホで撮影しておくのが確実です。
再起動後、以下でも確認できます:

  • 設定 → システム → 詳細情報 → システムの保護 → システムのプロパティ → 起動と回復

  • または、イベントビューア(後述)


2. イベントビューアで詳細ログを確認する

Windows は BSOD の詳細をログに記録しています。

● 確認手順

  1. Win + X → イベントビューア

  2. 左のツリーから
    「Windows ログ」 → 「システム」 を選択

  3. 右側のフィルターで「重大」「エラー」を絞り込む

よくある記録:

  • Kernel-Power 41:予期しないシャットダウン

  • BugCheck:BSOD 発生のログ
    → エラーコード(BugCheckCode)やパラメータが確認できる


3. ドライバ更新状況を確認する

BSOD の原因として最も多いのは ドライバの不具合です。
特に以下は要注意:

  • GPU ドライバ(NVIDIA / AMD / Intel)

  • オーディオドライバ

  • LAN / Wi-Fi ドライバ

  • ストレージドライバ(Intel RST など)

● 更新・再インストール手順

  • デバイスマネージャー → 該当デバイス → ドライバー → 更新

  • 公式サイトから最新版をダウンロードして入れ直すのも有効


4. メモリ(RAM)のテストを行う

メモリ異常は BSOD の典型的な原因。

● Windows メモリ診断

  1. Windows キー →「メモリ診断」検索

  2. 「今すぐ再起動して問題を確認する」

  3. 診断結果はイベントビューアの MemoryDiagnostics-Results に記録される

メモリ増設後の BSOD は高確率でこれが原因です。


5. ストレージ(SSD/HDD)の状態チェック

SSD の劣化やセクタ不良でも BSOD が発生します。

● チェック方法

  • **CrystalDiskInfo(無料)**で SSD の健康状態を見る

  • コマンドプロンプトで

    を実行してファイルシステムの破損を修復


6. Windows Update の不具合を疑う

大型アップデート後に BSOD が出るケースは多いです。

● 対処

  • 累積更新プログラムをアンインストール

  • 「更新プログラムの履歴」 → 「更新プログラムをアンインストール」

  • または「システムの復元」でロールバック


7. 最近インストールしたアプリを確認する

セキュリティソフトやドライバ関連ツールが BSOD を引き起こすことがあります。

特に注意:

  • サードパーティ製アンチウイルス

  • 監視ツール(OCCT, HWMonitor 系)

  • 仮想化ソフト(VMware / VirtualBox)


8. 省電力設定/オーバークロックの影響

● 自作PCユーザー向けですが、以下も BSOD 原因になります:

  • CPU/GPU のオーバークロック

  • XMP(メモリ OC プロファイル)

  • 高パフォーマンス電源設定との相性

一時的に XMP をオフBIOS を初期化すると改善することも。


9. システムファイルの破損チェック

OS の内部ファイルが壊れている場合。

● コマンド例

管理者コマンドプロンプトで:

さらに:


これで OS の破損修復が可能。


10. 再発防止のための最終手段

  • クリーンブートで原因アプリを切り分ける

  • セーフモード起動してドライバを削除

  • Windows の初期化(個人ファイル保持も可能)

  • SSD / メモリ交換

  • メーカー修理依頼


まとめ

ブルースクリーン(BSOD)は必ず原因があります。
特に多いのは、

  • ドライバの不具合

  • メモリ/ストレージの異常

  • Windows Update の問題

  • ソフトウェアの相性

この記事の流れどおりに確認すれば、原因特定のスピードが一気に上がり、無駄な再起動を減らせます。

PowerShellで数十万行のCSVを高速処理するベストプラクティス

PowerShellで数十万行以上のCSVを扱うと、
「読み込みが遅い」「メモリが一気に膨れる」「処理が固まったように見える」
といった問題が発生しがちです。

実はこれ、PowerShellのCSV処理の仕組みによる“あるある”で、
正しい書き方をすれば劇的に高速化できます。

この記事では、現場でも使われている 高速処理テクニック・実装例・注意点 をまとめます。


✔ なぜPowerShellはCSV処理が遅くなるのか

PowerShellの Import-Csv は便利ですが…

  • 全行を一度にメモリへ展開する

  • オブジェクト化のコストが高い

  • 数十万件を超えると数百MB〜GB級のメモリ使用

という特徴があります。

そのため、以下のような書き方は最も遅くなります。


✔ 高速化のポイントは「逐次読み込み」と「Stream処理」

PowerShellで数十万行を高速に処理する場合の最重要ポイントは以下。

💡 高速化の基本

  1. Import-Csv を使わず StreamReader を使う

  2. 1行ずつ処理して不要になったデータは捨てる

  3. Select-Object, Where-Object をループで使わない

  4. 型変換を最小限にする

  5. 出力は StringBuilder にまとめて最後に書き込む


✔ ベストプラクティス①:StreamReaderで逐次処理

最も高速でメモリ効率も良い方法です。

✔ 特徴

  • Import-Csv ではなく Split で直接取得 → 超高速

  • メモリ使用量は常に一定

  • 数百万行でも余裕


✔ ベストプラクティス②:Import-Csv を使う場合の高速化

「やっぱりオブジェクトで扱いたい」という場合はこちら。

✔ 注意点

  • ForEach-Object -ParallelPowerShell 7 以降限定

  • 並列化は CPUコア数に依存

  • メモリ使用量は多め


✔ ベストプラクティス③:Select-Object / Where-Object を避ける

以下は遅くなりがち:

理由:すべての行をオブジェクトとして保持してしまう。

💡 改善

または、最速は StreamReader + Split


✔ ベストプラクティス④:StringBuilderで出力バッファを作る

行ごとに Add-Content を実行すると激遅になります。

✔ StringBuilderを使う(高速)


✔ ベストプラクティス⑤:PowerShell 7 を使う

PowerShell 5.1 から PowerShell 7 に変えるだけで速度が倍以上になるケースが多いです。

理由

  • .NET Core ベースで高速化

  • ForEach-Object が最適化

  • Parallel 処理対応


✔ 実際の処理速度比較(目安)

手法100万行の処理メモリ使用量
Import-Csv → ループ数十秒〜数分数百MB〜1GB超
Import-Csv -Parallel10〜40秒多め
StreamReader + Split5〜15秒数MB

※ PCスペックにより変動。


✔ まとめ:最速は「StreamReader+Splitによる逐次処理」

PowerShellで数十万行のCSVを高速処理するなら

✔ 最適解

  1. 逐次読み込み(ストリーム処理)

  2. 行ごとにSplitして必要な列だけ触る

  3. StringBuilderでまとめて出力する

  4. PowerShell 7 ならParallel化も可能

業務バッチで使う場合は、
StreamReader方式が最も安全で高速です。

実際の現場でも「メモリ溢れ対策」「速度改善」で最も採用されています。

Excelで「数値なのに計算できない」問題の原因一覧

Excelを使っていると、「セルの値は数字のはずなのに計算されない」「SUMに反映されない」「左寄せになる」という現象がよく発生します。
原因のほとんどは 「数値が文字列として扱われている」 ことですが、文字列化の理由は複数あります。

この記事では、実務でよく起きる原因を一覧化し、すぐにチェックできるように整理 しています。


■ 1. セルの書式が「文字列」になっている

もっとも定番の原因がこれです。

  • 「ホーム」→「数値」→「文字列」になっている

  • 左寄せになっている

  • 式で計算されない/SUMに反映されない

修正方法:

  1. セルを選択

  2. 書式を「標準」または「数値」に変更

  3. 必要であれば F2 → Enter で再確定


■ 2. 先頭に「’」(シングルクォート)が入っている

CSVインポート時やシステム出力データに多いパターンです。

例:
'12345
→ 見た目は数値だが、内部は文字列。

修正方法:

  • 「データ」→「区切り位置」→「完了」で再変換

  • または SUBSTITUTE で を除去


■ 3. 全角数字が混ざっている(0〜9 が全角)

パッと見で気付きにくい原因の一つです。

例:
12345
→ 全角のため文字列扱い。

判別方法:

  • 左寄せ

  • 書式を変更しても変わらない

  • LEN で長さが合わない

修正方法:

  • CLEAN、ASC関数

  • Power Query の「文字種変換」

  • 全角 → 半角変換ツールを使う


■ 4. 数値の後ろや前にスペースが入っている

特に 末尾スペース(トレailing space) が多いです。

例:

修正方法:

  • TRIM(Tab のような特殊スペースは取れない場合あり)

  • CLEAN

  • Power Query →「空白の削除」


■ 5. Non-Breaking Space(NBSP / CHAR(160))が入っている

Web からコピーしたときに混入しがちです。
普通の TRIM では削除されません。

判別方法:
=CODE(MID(A1,1,1)) → 160 が出る

修正方法:


■ 6. 数値の途中にカンマ・記号が混ざっている

Excelは 「数値として成立しないフォーマット」 を拒否します。

例:

  • 1,234,567,(末尾カンマ)

  • 1234円

  • #1234

  • 1234-

修正方法:

  • SUBSTITUTEで除去

  • Power Queryで不要文字削除


■ 7. 数値が非常に長く、Excelが自動的に文字列として読み込む

13桁以上の数字(JANコード、社員番号など)は Excel が自動で丸めるため、一部のツールが数字を文字列として出力する ことがあります。

例:
1234567890123

修正方法:

  • 「文字列」として扱いたい → 先頭にシングルクォート

  • 「数値」扱いにしたい → 数値型+指数表記の調整


■ 8. 数値として認識できない記号が含まれている(見えない制御文字)

コピー元が

  • PDF

  • Webサイト

  • 外部業務システム

の場合、不可視文字(制御コード) が混入していることがあります。

修正方法:

  • CLEAN

  • SUBSTITUTEで削除

  • Power Queryの「不要文字削除」


■ 9. 数値の前に「=」が付いている(ただし計算式ではない)

システム出力の一部で、文字列の中に「=1234」のような形式があると、Excelは 文字列扱い します。

修正方法:

  • SUBSTITUTEで「=」を除去

  • TEXT関数で変換後に VALUEで数値化


■ 10. セルに「エラー」マークが出ているのに無視している

Excelは親切に
「数値が文字列として保存されています」
という警告を出します。

小さな黄色の三角形+ビックリマークです。

修正方法:

  • 「数値に変換」をクリック

  • 一括変換も可能(選択範囲)


■ まとめ:原因は複数。まずは「書式」「記号混入」をチェック

Excelで数値が計算されない原因はほとんどが 「文字列化」 によるものですが、その理由は以下に分類できます。

  • 書式の問題(文字列、全角数字、シングルクォート)

  • 文字種の問題(NBSP、制御文字、スペース)

  • フォーマットの問題(通貨記号、末尾カンマ、単位付き)

  • インポート時の仕様(CSV・システム出力の文字列化)

記事通りに順番にチェックすれば、ほぼ確実に原因が特定できます。