<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>独学エクセル塾</title>
	<atom:link href="https://dokugakuexcel.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://dokugakuexcel.com</link>
	<description>初心者から中級者までシステム・関数・VBAを伝授します</description>
	<lastBuildDate>Sun, 09 Nov 2025 15:14:15 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://dokugakuexcel.com/wp-content/uploads/2021/06/cropped-cropped-image-66-1-32x32.jpg</url>
	<title>独学エクセル塾</title>
	<link>https://dokugakuexcel.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">194648711</site>	<item>
		<title>Pythonで超簡単！QRコードを一瞬で作成・画像保存する方法</title>
		<link>https://dokugakuexcel.com/python%e3%81%a7%e8%b6%85%e7%b0%a1%e5%8d%98%ef%bc%81qr%e3%82%b3%e3%83%bc%e3%83%89%e3%82%92%e4%b8%80%e7%9e%ac%e3%81%a7%e4%bd%9c%e6%88%90%e3%83%bb%e7%94%bb%e5%83%8f%e4%bf%9d%e5%ad%98%e3%81%99%e3%82%8b/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=python%25e3%2581%25a7%25e8%25b6%2585%25e7%25b0%25a1%25e5%258d%2598%25ef%25bc%2581qr%25e3%2582%25b3%25e3%2583%25bc%25e3%2583%2589%25e3%2582%2592%25e4%25b8%2580%25e7%259e%25ac%25e3%2581%25a7%25e4%25bd%259c%25e6%2588%2590%25e3%2583%25bb%25e7%2594%25bb%25e5%2583%258f%25e4%25bf%259d%25e5%25ad%2598%25e3%2581%2599%25e3%2582%258b</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Sun, 09 Nov 2025 15:14:15 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[QRコード]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4580</guid>

					<description><![CDATA[WebサイトのURL、イベントのチケット情報、アプリのダウンロードリンクなど、 さまざまな情報をスマートフォンで手軽に読み取ってもらうために、QRコードは不可欠なツールとなっています。 毎回、外部のジェネレーターサイトを [&#8230;]]]></description>
										<content:encoded><![CDATA[<div id="model-response-message-contentr_9750f51d5463a444" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" aria-live="polite" aria-busy="false">
<p>WebサイトのURL、イベントのチケット情報、アプリのダウンロードリンクなど、<br />
さまざまな情報をスマートフォンで手軽に読み取ってもらうために、<b>QRコード</b>は不可欠なツールとなっています。</p>
<p>毎回、外部のジェネレーターサイトを使って作成したり、制限のあるツールで作業したりしていませんか？</p>
<p><b>Python</b>を使えば、専用のライブラリ<code>qrcode</code>を導入するだけで、<br />
<b>好きなデータから高品質なQRコードを簡単に生成し、PNGやSVGなどの画像形式で保存</b>できます。</p>
<p>これにより、<b>デザインやサイズ、色</b>を自由にカスタマイズしたQRコードを、必要なときに大量生産・管理できるようになります。</p>
<p>この記事では、Pythonを使ったQRコードの作成・保存方法について、コードの仕組みやカスタマイズのポイントを交えて詳しく解説します。</p>
<h2>&#x1f4a1;この記事で得られること！</h2>
<p>&nbsp;</p>
<ul>
<li><b>データの内容や長さに応じて最適なQRコード</b>を自動で作成できる</li>
<li><b>QRコードのサイズ、枠線、色</b>を自在にカスタマイズできる</li>
<li>生成したQRコードを画像ファイル（PNG、SVGなど）として永続的に保存し、印刷物などに活用できる</li>
<li><b>作業の自動化</b>に一歩踏み出せる</li>
</ul>
</div>
<p>&nbsp;</p>
<p>まずは私の実績を紹介します。</p>
<p>下の動画は、Pythonで自作したQR作成システムです！</p>
<div style="width: 1656px;" class="wp-video"><video class="wp-video-shortcode" id="video-4580-1" width="1656" height="976" preload="metadata" controls="controls"><source type="video/mp4" src="https://dokugakuexcel.com/wp-content/uploads/2025/11/2d416acabb24bb423cd54653074e82ef.mp4?_=1" /><a href="https://dokugakuexcel.com/wp-content/uploads/2025/11/2d416acabb24bb423cd54653074e82ef.mp4">https://dokugakuexcel.com/wp-content/uploads/2025/11/2d416acabb24bb423cd54653074e82ef.mp4</a></video></div>
<p>&nbsp;</p>
<p>&#x1f447;こんな様々なコードを作成することができますよ！</p>
<div id="model-response-message-contentr_9750f51d5463a444" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" aria-live="polite" aria-busy="false">
<p><img decoding="async" class="alignnone  wp-image-4582" src="https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109.png" alt="" width="153" height="153" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109.png 232w, https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109-150x150.png 150w, https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109-100x100.png 100w" sizes="(max-width: 153px) 100vw, 153px" /> <img decoding="async" class="alignnone  wp-image-4583" src="https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_1.png" alt="" width="153" height="153" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_1.png 232w, https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_1-150x150.png 150w, https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_1-100x100.png 100w" sizes="(max-width: 153px) 100vw, 153px" /> <img decoding="async" class="alignnone  wp-image-4584" src="https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_2.png" alt="" width="153" height="153" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_2.png 232w, https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_2-150x150.png 150w, https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_2-100x100.png 100w" sizes="(max-width: 153px) 100vw, 153px" /> <img decoding="async" class="alignnone  wp-image-4585" src="https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_3.png" alt="" width="150" height="150" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_3.png 232w, https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_3-150x150.png 150w, https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_3-100x100.png 100w" sizes="(max-width: 150px) 100vw, 150px" /> <img decoding="async" class="alignnone  wp-image-4586" src="https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_4-300x300.jpg" alt="" width="154" height="154" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_4-300x300.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_4-150x150.jpg 150w, https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_4-100x100.jpg 100w, https://dokugakuexcel.com/wp-content/uploads/2025/11/QR_20251109_4.jpg 667w" sizes="(max-width: 154px) 100vw, 154px" /></p>
<p>QR作成や依頼・システムについて知りたい方がいればお問い合わせお待ちしております！</p>
<h2>&#x1f6e0;&#xfe0f;環境構築と準備</h2>
<p>&nbsp;</p>
<p>QRコードを生成するために、Pythonのサードパーティライブラリである<code>qrcode</code>が必要です。</p>
<p>&nbsp;</p>
<h3>【インストール】</h3>
<p>ターミナル（コマンドプロンプトやPowerShell）で、以下のコマンドを実行してインストールします。</p>
<div class="code-block ng-tns-c66217181-39 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahcKEwjGkPq8peWQAxUAAAAAHQAAAAAQWg">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c66217181-39 ng-star-inserted">
<div class="buttons ng-tns-c66217181-39 ng-star-inserted"></div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c66217181-39">
<div class="animated-opacity ng-tns-c66217181-39">
<pre class="ng-tns-c66217181-39"><code class="code-container formatted ng-tns-c66217181-39" role="text" data-test-id="code-content">pip install qrcode
</code></pre>
</div>
</div>
</div>
<p>また、生成したQRコードを<b>PNGなどのビットマップ画像</b>として保存したい場合は、<br />
画像処理ライブラリであるPillow（PIL）も一緒にインストールしておくと便利です。</p>
<div class="code-block ng-tns-c66217181-40 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahcKEwjGkPq8peWQAxUAAAAAHQAAAAAQWw">
<div class="formatted-code-block-internal-container ng-tns-c66217181-40">
<div class="animated-opacity ng-tns-c66217181-40">
<pre class="ng-tns-c66217181-40"><code class="code-container formatted ng-tns-c66217181-40" role="text" data-test-id="code-content">pip install Pillow</code></pre>
</div>
</div>
</div>
<h2>実践コード：基本のQRコード作成と保存</h2>
<p>&nbsp;</p>
<p>ここでは、「<b>GoogleのトップページURL</b>をデータとし、それをPNG画像として保存する」基本的な例を紹介します。</p>
<div class="code-block ng-tns-c66217181-41 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahcKEwjGkPq8peWQAxUAAAAAHQAAAAAQXA">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c66217181-41 ng-star-inserted">
<div class="buttons ng-tns-c66217181-41 ng-star-inserted"></div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c66217181-41">
<div class="animated-opacity ng-tns-c66217181-41">
<pre class="ng-tns-c66217181-41"><code class="code-container formatted ng-tns-c66217181-41" role="text" data-test-id="code-content"><span class="hljs-keyword">import</span> qrcode
<span class="hljs-keyword">from</span> PIL <span class="hljs-keyword">import</span> Image  <span class="hljs-comment"># PNG保存のためにPillowからImageをインポート</span>

<span class="hljs-comment"># ① QRコードに変換したいデータ（URLや文字列）を定義</span>
data = <span class="hljs-string">"データ入力"</span>

<span class="hljs-comment"># ② QRコードのパラメーターを設定</span>
<span class="hljs-comment"># qrcode.QRCodeクラスのインスタンスを作成</span>
qr = qrcode.QRCode(
    version=<span class="hljs-number">1</span>,
    error_correction=qrcode.constants.ERROR_CORRECT_H,  <span class="hljs-comment"># 誤り訂正レベルを最高レベルに設定</span>
    box_size=<span class="hljs-number">12</span>,  <span class="hljs-comment"># 各モジュール（小さな四角）のピクセル数</span>
    border=<span class="hljs-number">5</span>,     <span class="hljs-comment"># QRコードの周囲の余白（モジュール数）</span>
)

<span class="hljs-comment"># ③ データをQRコードに追加</span>
qr.add_data(data)
<span class="hljs-comment"># データ量に応じて最適なサイズになるように自動調整</span>
qr.make(fit=<span class="hljs-literal">True</span>)

<span class="hljs-comment"># ④ 画像化して保存</span>
<span class="hljs-comment"># make_image()でPillowのImageオブジェクトを生成</span>
<span class="hljs-comment"># fill_color: モジュール（四角）の色, back_color: 背景の色</span>
img = qr.make_image(fill_color=<span class="hljs-string">"darkblue"</span>, back_color=<span class="hljs-string">"lightgray"</span>)
img.save(<span class="hljs-string">"custom_google_qr.png"</span>)

print(<span class="hljs-string">"QRコードが 'custom_google_qr.png' として保存されました。"</span>)
<span class="hljs-comment"># </span></code></pre>
</div>
</div>
</div>
<hr />
<p>&nbsp;</p>
<h2>&#x1f511;コードのポイント詳細解説</h2>
<h3>1. <code>qrcode.QRCode()</code>でカスタマイズする</h3>
<p><code>qrcode.QRCode()</code>コンストラクタで、QRコードの品質や見た目を決定する重要なパラメーターを設定します。</p>
<table>
<thead>
<tr>
<td><strong>パラメーター</strong></td>
<td><strong>説明</strong></td>
<td><strong>推奨値</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td><b><code>version</code></b></td>
<td>QRコードのサイズや複雑度。1（最小）から40（最大）まで。<code>None</code>にするとデータ量から自動で最適なサイズが選ばれます。</td>
<td><code>None</code>または<code>1</code></td>
</tr>
<tr>
<td><code>error_correction</code></td>
<td>誤り訂正レベル。QRコードの一部が汚損・破損しても読み取り可能にする機能。<code>constants.ERROR_CORRECT_L</code>（低）から<code>constants.ERROR_CORRECT_H</code>（高）まで4段階あります。Hが最も訂正能力が高いです。</td>
<td><code>qrcode.constants.ERROR_CORRECT_H</code></td>
</tr>
<tr>
<td><code>box_size</code></td>
<td>QRコードを構成する最小単位（モジュール）のピクセルサイズ。この値を大きくするほど、生成される画像全体のサイズが大きくなります。</td>
<td><code>10</code>〜<code>20</code></td>
</tr>
<tr>
<td><code>border</code></td>
<td>QRコードの周囲に必要な**白い枠（余白）**のモジュール数。JIS規格で4モジュール以上の余白が推奨されています。</td>
<td><code>4</code>以上</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h3>2. <code>qr.add_data()</code>と<code>qr.make()</code></h3>
<p>&nbsp;</p>
<ul>
<li><b><code>qr.add_data(data)</code></b>: 変換したい文字列やURLをQRコードオブジェクトに追加します。</li>
<li><b><code>qr.make(fit=True)</code></b>: <code>add_data</code>で追加されたデータに基づいて、QRコードの構造（グリッド）を構築します。<code>fit=True</code>を指定することで、<b><code>version</code>が<code>None</code>の場合に最適なサイズが自動で選択</b>されます。</li>
</ul>
<p>&nbsp;</p>
<h3>3. <code>qr.make_image()</code>と<code>img.save()</code></h3>
<p>&nbsp;</p>
<ul>
<li><b><code>img = qr.make_image(...)</code></b>: 構築されたQRコードの構造をPillowの画像オブジェクトに変換します。
<ul>
<li><code>fill_color</code>でモジュール（四角）の色を、<code>back_color</code>で背景色を**カラーコード（例: <code>#FF0000</code>）<b>や</b>英語名（例: <code>red</code>）**で指定できます。</li>
</ul>
</li>
<li><b><code>img.save(...)</code></b>: 生成された画像オブジェクトを指定したファイル名で保存します。ファイル名の拡張子（例: <code>.png</code>）によって保存形式が自動で決まります。</li>
</ul>
<h2>&#x1f680;さらなる応用例</h2>
<p>&nbsp;</p>
<p>この基本コードを応用することで、単一のQRコード作成に留まらない、自動化されたタスクが実現できます。</p>
<ul>
<li><b>&#x1f4f0; CSV/Excelファイルからの連続生成</b>: CSVファイルにURLリストや社員番号リストを用意し、Pythonで一行ずつ読み込んで、ファイル名を変えながらQRコードを連続で生成し、フォルダに保存する。</li>
<li><b>&#x1f308; 色の動的変更</b>: QRコードの用途（例: 青は社内用、赤は顧客用）に応じて、コードを書き換えずに色を自動的に変更する。</li>
<li><b>&#x1f310; SVG形式での保存</b>: <b><code>pip install qrcode[pil,svg]</code></b> でSVGバックエンドをインストールすれば、<code>make_image()</code>の代わりに**<code>make_svg()</code><b>を使って、印刷に最適な</b>ベクター形式（SVG）**で保存できます。</li>
</ul>
<div class="code-block ng-tns-c66217181-42 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahcKEwjGkPq8peWQAxUAAAAAHQAAAAAQYA">
<div class="code-block-decoration header-formatted gds-title-s ng-tns-c66217181-42 ng-star-inserted">
<div class="buttons ng-tns-c66217181-42 ng-star-inserted"></div>
</div>
<div class="formatted-code-block-internal-container ng-tns-c66217181-42">
<div class="animated-opacity ng-tns-c66217181-42">
<pre class="ng-tns-c66217181-42"><code class="code-container formatted ng-tns-c66217181-42" role="text" data-test-id="code-content"><span class="hljs-comment"># SVG形式で保存する例</span>
img_svg = qr.make_image(image_factory=qrcode.image.svg.SvgPathImage)
img_svg.save(<span class="hljs-string">"vector_qr.svg"</span>)
</code></pre>
</div>
</div>
</div>
<hr />
<p>&nbsp;</p>
<h2>&#x1f6a8;注意点</h2>
<p>&nbsp;</p>
<table>
<thead>
<tr>
<td><strong>項目</strong></td>
<td><strong>説明</strong></td>
<td><strong>対応策</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td><b>誤り訂正レベル</b></td>
<td>訂正レベル（H、Q、M、L）を高くするほど、データ格納容量が減り、QRコードが複雑になります。データ量がギリギリの場合は、レベルを下げる検討が必要です。</td>
<td>読み取りエラーが頻発しない限りは、<code>H</code>で作成するのが安全です。</td>
</tr>
<tr>
<td><b>データ量</b></td>
<td>データが非常に長い場合、QRコードが細かくなりすぎて、古いスマホや低解像度のカメラで読み取れなくなることがあります。</td>
<td>データを短縮URLにするなど、<b>格納データを最小限に抑える</b>工夫をしましょう。</td>
</tr>
<tr>
<td><b>色とコントラスト</b></td>
<td>背景色とモジュール（四角）の色のコントラストが低いと、読み取りエラーの原因となります。</td>
<td><b>黒と白</b>など、高コントラストな色の組み合わせを基本としましょう。</td>
</tr>
</tbody>
</table>
</div>
<p>以上が注意点です！</p>
<p>冒頭でも紹介しましたが、生成や依頼があれば問い合わせください！</p>
<div id="model-response-message-contentr_9750f51d5463a444" class="markdown markdown-main-panel stronger enable-updated-hr-color" dir="ltr" aria-live="polite" aria-busy="false">
<h2>&#x2705;まとめ</h2>
<p>&nbsp;</p>
<p>今回は、Pythonの<code>qrcode</code>ライブラリを使用し、QRコードを簡単に、かつ高度にカスタマイズして生成・保存する方法を詳細に解説しました。</p>
<p>プログラミングの知識がなくても、今回紹介したコードを少し修正するだけで、仕事やプライベートで役立つ高品質なQRコードを必要な分だけ作成できます。</p>
<p>■こんな方におすすめ</p>
<ul>
<li><b>広報・マーケティング</b>で大量のQRコードを扱う人</li>
<li><b>社内システム</b>でユーザーごとのアクセスコードなどを自動生成したい人</li>
<li><b>作業効率化</b>を目標とするすべての方</li>
</ul>
<p>ぜひこの機会に、Pythonを使った自動化の世界に深く踏み込んでみてください</p>
</div>
]]></content:encoded>
					
		
		<enclosure url="https://dokugakuexcel.com/wp-content/uploads/2025/11/2d416acabb24bb423cd54653074e82ef.mp4" length="14677756" type="video/mp4" />

		<post-id xmlns="com-wordpress:feed-additions:1">4580</post-id>	</item>
		<item>
		<title>【効率UP】Excel業務の効率化と自動化のすすめ</title>
		<link>https://dokugakuexcel.com/%e3%80%90%e5%8a%b9%e7%8e%87up%e3%80%91excel%e6%a5%ad%e5%8b%99%e3%81%ae%e5%8a%b9%e7%8e%87%e5%8c%96%e3%81%a8%e8%87%aa%e5%8b%95%e5%8c%96%e3%81%ae%e3%81%99%e3%81%99%e3%82%81/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590%25e5%258a%25b9%25e7%258e%2587up%25e3%2580%2591excel%25e6%25a5%25ad%25e5%258b%2599%25e3%2581%25ae%25e5%258a%25b9%25e7%258e%2587%25e5%258c%2596%25e3%2581%25a8%25e8%2587%25aa%25e5%258b%2595%25e5%258c%2596%25e3%2581%25ae%25e3%2581%2599%25e3%2581%2599%25e3%2582%2581</link>
					<comments>https://dokugakuexcel.com/%e3%80%90%e5%8a%b9%e7%8e%87up%e3%80%91excel%e6%a5%ad%e5%8b%99%e3%81%ae%e5%8a%b9%e7%8e%87%e5%8c%96%e3%81%a8%e8%87%aa%e5%8b%95%e5%8c%96%e3%81%ae%e3%81%99%e3%81%99%e3%82%81/?noamp=mobile#respond</comments>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Mon, 06 Oct 2025 13:42:36 +0000</pubDate>
				<category><![CDATA[雑記]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4568</guid>

					<description><![CDATA[Excelは企業に欠かせないツール Excelは多くの企業にとって、日常業務を支える重要なツールです。 データ集計、請求書の作成、在庫管理、売上レポートの作成など、その用途は非常に幅広く、業務のあらゆる場面で活用されてい [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1></h1>
<h2>Excelは企業に欠かせないツール</h2>
<p>Excelは多くの企業にとって、日常業務を支える重要なツールです。<br />
データ集計、請求書の作成、在庫管理、売上レポートの作成など、その用途は非常に幅広く、業務のあらゆる場面で活用されています。<br />
むしろ「Excelをまったく使わない企業」の方が珍しいでしょう。</p>
<p>Excel業務に潜む課題<br />
便利なExcelですが、実際の現場では次のような悩みがよく聞かれます。</p>
<p>&nbsp;</p>
<pre>・毎回の集計に膨大な時間がかかる
・担当者しか分からない複雑なファイル
・部署ごとにバラバラなフォーマット
・入力ミスが怖い
・データ整理に1日かかる
・ちょっとした修正でも外注コストが高い</pre>
<p>さらに、関数やマクロを作った本人が退職すると、ノウハウが失われる危険性もあります。</p>
<p>特に関数を複雑に組み合わせたファイルは、作成者本人ですら「もう仕組みを忘れた」ということも少なくありません。<br />
こうした問題は、組織の成長スピードを鈍化させ、競争力低下につながるリスクがあります。</p>
<h2>Excel業務の問題点</h2>
<h3>作業時間とヒューマンエラーの問題</h3>
<p>Excelの課題の一つは「定型作業に時間がかかること」です。<br />
例えば毎月の売上データを集計してグラフ化し、レポートを提出する作業。</p>
<p>数百行・数千行のデータを扱えば数時間かかることもあり、パソコン操作が得意でない人ならさらに時間を要します。</p>
<p>教育現場でも、コピー&amp;ペーストを繰り返す人が多く、フィルハンドルで一瞬で済む作業に長時間かけてしまうケースもあります。</p>
<p>スキル差によって作業効率が大きく変わってしまうのです。</p>
<p>もう一つの大きな課題が「ヒューマンエラー」です。</p>
<p>Excelは自由入力が可能なため、セルの選択ミス、関数の誤入力、数式の消失など、</p>
<p>ちょっとした操作ミスが大きな損失につながります。請求業務や給与計算のように金額が絡む作業では、特にリスクが高まります。</p>
<h2>どうすればいいの？</h2>
<h3>解決策は「自動化」</h3>
<p>こうした問題に対して有効な手段が「Excelの自動化」です。<br />
VBA（Visual Basic for Applications）やマクロを活用すれば、</p>
<p>繰り返し作業をプログラムに任せることができます。</p>
<p>例えば…<br />
・8時間かかっていた処理が30分に短縮<br />
・入力ミスが激減し、データの信頼性が向上<br />
といった効果が現実に得られます。</p>
<p>実際に私が作成した例では、見積書を自動作成するシステムを構築し、採番や計算、PDF化をワンクリックで実行できるようにしました。</p>
<p><img decoding="async" id="thepasted-2" src="https://assets.st-note.com/img/1758290496-hi5xYperOySTLanFb3DWsqQj.png?width=4000&amp;height=4000&amp;fit=bounds&amp;format=jpg&amp;quality=90" /><br />
これだけで大幅な効率化が可能ですし、さらにデータを蓄積すれば、売上分析や担当者別の集計も一瞬で完了します。</p>
<p>自動化は単に時間を削減するだけでなく、ヒューマンエラーを減らし、結果的に顧客からの信頼向上にもつながります。</p>
<h3>VBAは難しい？</h3>
<p>「自動化が便利なのは分かるけど、VBAって難しそう」と思う方も多いでしょう。<br />
確かに、コードは初心者にとっては呪文のように見えるかもしれません。</p>
<p>実際、学び始めても途中で挫折してしまう人は少なくありません。</p>
<p>裏を返せば、その参入しにくさが、現代のエンジニア不足を引き起こしてます。<br />
とある会社の分析によれば、2030年には、エンジニア不足数が700,000人を超えると言うデータもあります。<br />
私も何十人か教えてきましたが、実際に今でも活用しているのは半数以下です。</p>
<p>さらに、簡単なコードを書けたとしても、業務で活用するには設計やエラー対策が欠かせません。<br />
例えば、セル参照に依存したコードは、行や列を追加しただけで動作が止まることがあります。<br />
ユーザーフォームを導入したり、操作を制御する工夫が必要なのです。</p>
<p>最近ではAIでコードを生成することもできますが、実際のところは簡単な処理の補助レベル。<br />
想定外の動作やセキュリティまでカバーできるわけではありません。最終的には人の知識と経験が不可欠です。</p>
<h2>オススメのExcelVBA導入方法</h2>
<p>ここまで見てきたように、Excel VBAは業務効率化に大きな効果をもたらします。<br />
しかし、ゼロから自分で学ぶには時間がかかり、設計や安定性に課題が残ることも多いのが現実。</p>
<p>プログラミングは自動化効率化において必要不可欠であり、導入したい。<br />
だけど、エンジニアが不足している。<br />
俺が今の世の中の答えではないでしょうか？</p>
<p>そこで今回は3つおすすめのVBA導入方法を紹介します。</p>
<h3>1.独学</h3>
<p>まず、コストも少なく気軽に始めることができる「独学」ですね。</p>
<p><img decoding="async" id="thepasted-4" class="" src="https://assets.st-note.com/img/1758290631-saIG3udNvj2pokBbYKmQiLfh.png?width=1200" alt="画像" width="218" height="198" /></p>
<p>私も独学で進めてきた身として独学でも身に着けることは不可能ではないです。<br />
サイトや本もあるので、知見を広げて活用を繰り返すとスキルが身についてくるでしょう。</p>
<p>しかし、なかなか時間がかかる＆思うように動かないというのが日常茶飯事です。<br />
そんな人の力になりたいと、独学で進めてきた私なりの解説をするためにも、サイトを立ち上げました。</p>
<p><strong>確実に身についてくるが、時間がかかる。</strong><br />
それが独学のメリット・デメリットでしょう。</p>
<h3>2.教えてもらう</h3>
<p>次にオススメなのが「プロ」に頼むことです。</p>
<p><img decoding="async" id="thepasted-3" class="" src="https://assets.st-note.com/img/1758290711-z5HA1b29WS4xg0RYV3oQkMfX.png?width=1200" alt="画像" width="252" height="216" /></p>
<p>私も始めたての時に、プロが身近にいればなと今更ながら思います。<br />
プロが作るコードはわかりやすく、ノウハウを活かし、最適解のコードです。<br />
初心者であるあるなのが、コードを形にはできたけど、動作が遅かったり想定外の処理をした時にエラーがでやすいです。<br />
処理方法によって、処理を早くしたり正確に処理できるVBAはスキルに依存します。</p>
<p>なので初心者の内はプロのコードを見れる環境に置くことをオススメします。</p>
<p>分からないところも教えてもらえるところもGOODですね。</p>
<h3>3.外注する</h3>
<p>これまで紹介してきた２つの方法は、自分でコードを書くのが大前提です。</p>
<p>しかし、コードを見ただけでも拒絶反応を示したり、身に着けるよりもすぐに活用したいという方も多いですよね。</p>
<p>そこで一つの選択肢になるのが「外注」です。<br />
プロに依頼することで、効率的かつ安定した仕組みを短期間で導入できます。<br />
自分で勉強する手間を省きつつ、現場ですぐ使える完成度の高いツールを手に入れることができます。</p>
<p>実際、大手企業もExcel業務の自動化を外部に依頼し、評価支援やレポート作成ツールを導入しています。<br />
人事評価や売上集計など、本来の業務に集中できる環境を整えることで、大幅な生産性向上を実現しているのです。</p>
<p>&nbsp;</p>
<p>外注先の一例として挙げられるのが「株式会社bee-plus」です。</p>
<p><a href="https://bee-plus.pro/">Excel/エクセルVBA・マクロ専門 | システム開発会社</a></p>
<p><a rel="noopener" href="https://bee-plus.pro/" target="_blank"><img decoding="async" class="alignnone wp-image-4571 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2025/10/Pasted.jpg" alt="" width="1851" height="729" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/10/Pasted.jpg 1851w, https://dokugakuexcel.com/wp-content/uploads/2025/10/Pasted-300x118.jpg 300w, https://dokugakuexcel.com/wp-content/uploads/2025/10/Pasted-1024x403.jpg 1024w, https://dokugakuexcel.com/wp-content/uploads/2025/10/Pasted-768x302.jpg 768w, https://dokugakuexcel.com/wp-content/uploads/2025/10/Pasted-1536x605.jpg 1536w" sizes="(max-width: 1851px) 100vw, 1851px" /></a></p>
<p>この会社は、丁寧なヒアリングから始まり、オーダーメイドでExcelツールを開発し、納品後のサポートまで一貫して提供しています。</p>
<pre>特徴としては、
・豊富な開発実績とノウハウ
・安心の料金設定と明確なお見積り
・秘密保持体制の徹底
・現場を知るからこその使いやすい設計
などがあり、実務に即したツールを提供してくれる点が強みです。</pre>
<p>実際に、大手百貨店向けに人事評価支援ツールを導入し、作業時間を大幅に短縮した事例もあるそうですよ！</p>
<p>まとめると、自分で学んでVBAを導入するのも一つの方法ですが、<br />
「短期間で確実に成果を出したい」「業務全体を効率化したい」と考えるなら、外注という選択肢も非常に有効です。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dokugakuexcel.com/%e3%80%90%e5%8a%b9%e7%8e%87up%e3%80%91excel%e6%a5%ad%e5%8b%99%e3%81%ae%e5%8a%b9%e7%8e%87%e5%8c%96%e3%81%a8%e8%87%aa%e5%8b%95%e5%8c%96%e3%81%ae%e3%81%99%e3%81%99%e3%82%81/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4568</post-id>	</item>
		<item>
		<title>【Python×Excel】指定フォルダ内のExcelファイルを一括処理する方法</title>
		<link>https://dokugakuexcel.com/%e3%80%90pythonxexcel%e3%80%91%e6%8c%87%e5%ae%9a%e3%83%95%e3%82%a9%e3%83%ab%e3%83%80%e5%86%85%e3%81%aeexcel%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e4%b8%80%e6%8b%ac%e5%87%a6%e7%90%86/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590pythonxexcel%25e3%2580%2591%25e6%258c%2587%25e5%25ae%259a%25e3%2583%2595%25e3%2582%25a9%25e3%2583%25ab%25e3%2583%2580%25e5%2586%2585%25e3%2581%25aeexcel%25e3%2583%2595%25e3%2582%25a1%25e3%2582%25a4%25e3%2583%25ab%25e3%2582%2592%25e4%25b8%2580%25e6%258b%25ac%25e5%2587%25a6%25e7%2590%2586</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Thu, 19 Jun 2025 13:59:33 +0000</pubDate>
				<category><![CDATA[PDF化]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4561</guid>

					<description><![CDATA[&#160; 日々の業務で、複数のExcelファイルを一つずつ開いて同じ作業を繰り返すなんてこと、ありませんか？ 実はPythonを使えば、特定のフォルダにあるExcelファイルを一括で処理することができます。 これによ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>&nbsp;</p>
<p>日々の業務で、<strong>複数のExcelファイルを一つずつ開いて同じ作業を繰り返す</strong>なんてこと、ありませんか？</p>
<p>実はPythonを使えば、<strong>特定のフォルダにあるExcelファイルを一括で処理</strong>することができます。</p>
<p>これにより、ファイルの中身を一括で変更したり、データを抽出したり、名前を変更したりといった作業が一気に自動化できます。</p>
<p>今回は、指定フォルダ内のExcelファイルを自動で読み込み、特定のセルにデータを入力するという例をもとにご紹介します。</p>
<h2>&#x2b1b;︎こんなことができるようになる！</h2>
<p>・指定フォルダ内のすべてのExcelファイルを自動処理できる<br />
・特定のセルに一括で値を入力できる<br />
・毎回の手作業をPythonで自動化できる</p>
<h2>&#x2b1b;︎準備するもの</h2>
<p>使用するライブラリは <code>openpyxl</code> と <code>os</code> の2つです。</p>
<p>【インストール】</p>
<pre><code class="language-bash">pip install openpyxl
</code></pre>
<p><code>os</code> は標準ライブラリなのでインストール不要です。</p>
<h2>&#x2b1b;︎実際のコードを見てみよう</h2>
<p>ここでは、「フォルダ内にあるすべてのExcelファイルのA1セルに“確認済”と入力する」例を紹介します。</p>
<pre><code class="language-python">import os
from openpyxl import load_workbook

# 対象のフォルダ（Excelファイルが入っている）
target_folder = "C:/Users/ユーザー名/Desktop/excel_files"

# フォルダ内のすべてのファイルをチェック
for file in os.listdir(target_folder):
    if file.endswith(".xlsx") and not file.startswith("~$"):  # テンポラリファイルを除外
        file_path = os.path.join(target_folder, file)
        
        # ファイルを読み込み
        wb = load_workbook(file_path)
        ws = wb.active
        
        # A1セルに値を入力
        ws["A1"] = "確認済"
        
        # 上書き保存
        wb.save(file_path)

print("すべてのファイルに入力が完了しました。")
</code></pre>
<h2>&#x2b1b;︎コードのポイント解説</h2>
<p>① <code>os.listdir()</code> でフォルダ内のファイルを取得<br />
② <code>.endswith(".xlsx")</code> でExcelファイルだけを対象に<br />
③ <code>load_workbook()</code> でファイルを開き、<code>A1セル</code>に「確認済」と入力<br />
④ <code>wb.save()</code> で上書き保存</p>
<h2>&#x2b1b;︎応用できる例</h2>
<p>このコードをベースにすれば、以下のような処理も可能です。</p>
<ul>
<li>指定したセルの値を一括で変更</li>
<li>特定のキーワードが含まれているファイルだけ処理</li>
<li>Excelの内容を読み込んでCSVに変換</li>
<li>ファイル名を日付付きでリネームして保存</li>
</ul>
<h2>&#x2b1b;︎注意点</h2>
<ul>
<li><code>.xlsx</code> 形式でない古いExcel（.xls）には対応していません（<code>xlrd</code>など別ライブラリが必要）</li>
<li>フォルダ内にテンポラリファイル（<code>~$</code> ではじまる）を含めないようにする処理が必要です</li>
<li>上書き保存なので、必要であれば<strong>事前にバックアップを取っておく</strong>のがおすすめです</li>
</ul>
<h2>&#x2b1b;︎まとめ</h2>
<p>今回は、<strong>Pythonを使って指定フォルダ内のExcelファイルを一括で処理する方法</strong>をご紹介しました。</p>
<p>毎日・毎週繰り返していた作業も、この方法を使えば<strong>わずか数秒で完了</strong>します。</p>
<h2>■こんな方におすすめ</h2>
<p>・複数のExcelファイルを毎回同じように編集している人<br />
・作業の自動化や効率化を考えている事務・経理担当者<br />
・日報・週報・請求書などをテンプレートで量産している人</p>
<p>ぜひこの機会にPython自動化にチャレンジしてみてください。</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4561</post-id>	</item>
		<item>
		<title>【Python×Excel】複数のCSVファイルを読み込み、1つのExcelにまとめる方法</title>
		<link>https://dokugakuexcel.com/%e3%80%90pythonxexcel%e3%80%91%e8%a4%87%e6%95%b0%e3%81%aecsv%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e8%aa%ad%e3%81%bf%e8%be%bc%e3%81%bf%e3%80%811%e3%81%a4%e3%81%aeexcel%e3%81%ab%e3%81%be/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590pythonxexcel%25e3%2580%2591%25e8%25a4%2587%25e6%2595%25b0%25e3%2581%25aecsv%25e3%2583%2595%25e3%2582%25a1%25e3%2582%25a4%25e3%2583%25ab%25e3%2582%2592%25e8%25aa%25ad%25e3%2581%25bf%25e8%25be%25bc%25e3%2581%25bf%25e3%2580%25811%25e3%2581%25a4%25e3%2581%25aeexcel%25e3%2581%25ab%25e3%2581%25be</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Thu, 19 Jun 2025 13:43:43 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4558</guid>

					<description><![CDATA[&#160; 日常業務でよく使われる「CSVファイル」ですが、 月ごとや部署ごとにファイルが分かれていて、いちいち手動でまとめるのが面倒…ということはありませんか？ そんなときに便利なのがPythonの自動化処理です。  [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>&nbsp;</p>
<p>日常業務でよく使われる「CSVファイル」ですが、<br />
月ごとや部署ごとにファイルが分かれていて、いちいち手動でまとめるのが面倒…ということはありませんか？</p>
<p>そんなときに便利なのが<strong>Pythonの自動化処理</strong>です。<br />
Pythonを使えば、複数のCSVファイルを一括で読み込み、1つのExcelファイルにシートごとにまとめることができます。</p>
<p>今回はその具体的な方法をご紹介します。</p>
<h2>&#x2b1b;︎こんなことができるようになる！</h2>
<p>・複数のCSVファイルを自動で読み込める<br />
・1つのExcelファイルにシートごとに保存できる<br />
・毎月・毎週の手作業をゼロにできる</p>
<h2>&#x2b1b;︎準備するもの</h2>
<p>今回使うPythonライブラリは以下の２つです。</p>
<pre><code class="language-bash">pip install pandas openpyxl
</code></pre>
<ul>
<li><strong>pandas</strong>：CSVやExcelの読み書きに便利なデータ分析ライブラリ</li>
<li><strong>openpyxl</strong>：Excel（.xlsx形式）を扱うためのライブラリ</li>
</ul>
<p>これだけで準備は完了です！</p>
<h2>&#x2b1b;︎やりたいことの流れ</h2>
<p>今回は、たとえば「月ごとの売上CSVファイル」があると仮定します。</p>
<pre><code>data/
├── january.csv
├── february.csv
├── march.csv
</code></pre>
<p>これらを読み込んで、<br />
各CSVをシート名にして1つのExcelファイル <code>summary.xlsx</code> にまとめていきます。</p>
<h2>&#x2b1b;︎Pythonコード全体</h2>
<pre><code class="language-python">import pandas as pd
import glob

# CSVファイルのあるフォルダを指定
csv_files = glob.glob("data/*.csv")

# ExcelWriterで出力先ファイルを指定
with pd.ExcelWriter("summary.xlsx", engine="openpyxl") as writer:
    for csv_file in csv_files:
        # ファイル名から拡張子を除いたシート名を作成
        sheet_name = csv_file.split("/")[-1].replace(".csv", "")
        
        # CSVをDataFrameとして読み込む
        df = pd.read_csv(csv_file)
        
        # Excelのシートに書き出す
        df.to_excel(writer, sheet_name=sheet_name, index=False)

print("Excelファイル summary.xlsx を作成しました。")
</code></pre>
<h2>&#x2b1b;︎コードのポイント解説</h2>
<p>① <code>glob.glob()</code>：フォルダ内のCSVファイルをすべて取得<br />
② <code>pd.read_csv()</code>：CSVを読み込んでDataFrameに変換<br />
③ <code>ExcelWriter</code>：複数シートのExcelファイルをまとめて出力するためのツール<br />
④ <code>df.to_excel()</code>：各CSVを個別のシートとして保存</p>
<h2>&#x2b1b;︎応用：ファイル名に日本語を含む場合や、シート名が長い場合</h2>
<p>Excelのシート名には31文字までという制限があります。<br />
ファイル名が長い場合や日本語を含む場合は、以下のように処理できます。</p>
<pre><code class="language-python">import os

sheet_name = os.path.splitext(os.path.basename(csv_file))[0]
sheet_name = sheet_name[:31]  # 最大31文字に制限
</code></pre>
<h2>&#x2b1b;︎まとめ：手作業を減らし、自動でExcelへ統合！</h2>
<p>この方法を使えば、<strong>何十個のCSVファイル</strong>でも、ボタンひとつで<strong>1つの見やすいExcelファイル</strong>にまとめることができます。</p>
<h2>■こんなときに使える！</h2>
<ul>
<li>月ごとの売上や在庫データの集計</li>
<li>支店・部署別のレポート集約</li>
<li>CSV形式で出力されるツールのデータ取り込み</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4558</post-id>	</item>
		<item>
		<title>【Python×Excel】ファイル・シートを自動でPDFに変換する方法</title>
		<link>https://dokugakuexcel.com/%e3%80%90pythonxexcel%e3%80%91%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%83%bb%e3%82%b7%e3%83%bc%e3%83%88%e3%82%92%e8%87%aa%e5%8b%95%e3%81%a7pdf%e3%81%ab%e5%a4%89%e6%8f%9b%e3%81%99%e3%82%8b%e6%96%b9/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590pythonxexcel%25e3%2580%2591%25e3%2583%2595%25e3%2582%25a1%25e3%2582%25a4%25e3%2583%25ab%25e3%2583%25bb%25e3%2582%25b7%25e3%2583%25bc%25e3%2583%2588%25e3%2582%2592%25e8%2587%25aa%25e5%258b%2595%25e3%2581%25a7pdf%25e3%2581%25ab%25e5%25a4%2589%25e6%258f%259b%25e3%2581%2599%25e3%2582%258b%25e6%2596%25b9</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 18 Jun 2025 21:51:10 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4553</guid>

					<description><![CDATA[&#160; 日常業務で使われるExcelファイルですが、 ときには「PDFに変換して送ってほしい」と頼まれることもありますよね。 そんなとき、Pythonを使えばExcelを自動でPDF化することができます。 しかも、 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>&nbsp;</p>
<p>日常業務で使われるExcelファイルですが、<br />
ときには「PDFに変換して送ってほしい」と頼まれることもありますよね。</p>
<p>そんなとき、<strong>Pythonを使えばExcelを自動でPDF化</strong>することができます。<br />
しかも、毎回手作業で印刷→PDF保存…なんて面倒なことはもう必要ありません。</p>
<p>今回は、<strong>Windows環境限定</strong>にはなりますが、PythonでExcelファイルをPDFに変換する方法をご紹介します。</p>
<h2>&#x2b1b;︎こんなことができるようになる！</h2>
<p>・PythonからExcelファイルを自動でPDF変換できる<br />
・複数ファイルを一括でPDF化できる<br />
・業務報告書や請求書のPDF化作業が一気にラクに！</p>
<h2>&#x2b1b;︎必要な準備</h2>
<p>この方法では、<strong>Windows環境のExcelアプリ（Microsoft Excel）がインストールされている</strong>必要があります。</p>
<p>そのうえで、Pythonの「<strong>pywin32</strong>」というライブラリを使ってExcelを操作します。</p>
<h3>【事前準備】</h3>
<pre><code class="language-bash">pip install pywin32
</code></pre>
<p>これで準備完了です！</p>
<h2>&#x2b1b;︎PythonでExcel→PDFに変換する基本コード</h2>
<p>以下が、ExcelファイルをPDFとして保存する基本的なスクリプトです。</p>
<pre><code class="language-python">import win32com.client

# Excelアプリケーションを起動（バックグラウンド）
excel = win32com.client.Dispatch("Excel.Application")
excel.Visible = False  # 画面非表示で処理

# Excelファイルを開く
wb = excel.Workbooks.Open(r"C:\Users\ユーザー名\Desktop\sample.xlsx")#ここにExcelの入ったフォルダのパスを記入

# PDFとして保存
wb.ExportAsFixedFormat(0, r"C:\Users\ユーザー名\Desktop\sample.pdf")#ここにPDFの保存フォルダのパスを記入

# 閉じる
wb.Close(False)
excel.Quit()
</code></pre>
<h2>&#x2b1b;︎コードのポイントを解説！</h2>
<ul>
<li><code>Dispatch("Excel.Application")</code><br />
→ WindowsにインストールされたExcelをPythonから起動</li>
<li><code>Open()</code><br />
→ 指定したExcelファイルを開く</li>
<li><code>ExportAsFixedFormat(0, 出力パス)</code><br />
→ PDFとして保存（「0」はPDF形式の指定）</li>
<li><code>Quit()</code><br />
→ Excelを終了</li>
</ul>
<p>では実行してみたいと思います。<br />
今回はExcelというフォルダに3つファイルを用意しました。</p>
<p><img decoding="async" width="309" height="132" class="alignnone wp-image-4554 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-9.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-9.png 309w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-9-300x128.png 300w" sizes="(max-width: 309px) 100vw, 309px" /></p>
<p>&nbsp;</p>
<p>こちらを実行すると・・・</p>
<p><img decoding="async" width="271" height="150" class="alignnone wp-image-4555 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-10.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-10.png 271w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-10-160x90.png 160w" sizes="(max-width: 271px) 100vw, 271px" /><br />
無事、PDF化することができました！</p>
<h2>&#x2b1b;︎PDFを保存する場所を変更したいときは？</h2>
<p>保存先は以下のように自由に設定できます：</p>
<pre><code class="language-python">wb.ExportAsFixedFormat(0, r"D:\Documents\レポート2024.pdf")
</code></pre>
<p>※<code>r"パス"</code>のように <strong>「r」付きの文字列</strong> にしておくと、バックスラッシュのエスケープ処理を防げます。</p>
<h2>&#x2b1b;︎複数のExcelファイルをまとめてPDF化したいとき</h2>
<p>フォルダ内の全Excelファイルを一括でPDFに変換することもできます。</p>
<pre><code class="language-python">import os
import win32com.client

folder = r"C:\Users\ユーザー名\Documents\Excels"
pdf_folder = r"C:\Users\ユーザー名\Documents\PDFs"

excel = win32com.client.Dispatch("Excel.Application")
excel.Visible = False

for file in os.listdir(folder):
    if file.endswith(".xlsx"):
        input_path = os.path.join(folder, file)
        output_path = os.path.join(pdf_folder, file.replace(".xlsx", ".pdf"))
        
        wb = excel.Workbooks.Open(input_path)
        wb.ExportAsFixedFormat(0, output_path)
        wb.Close(False)

excel.Quit()
</code></pre>
<h2>&#x2b1b;︎注意点と補足</h2>
<ul>
<li>Macではこの方法は使えません（pywin32はWindows専用）</li>
<li>ExcelがインストールされていないPCでは動作しません</li>
<li>旧形式（.xls）は開けない場合があるため <code>.xlsx</code> を推奨します</li>
</ul>
<h2>&#x2b1b;︎まとめ</h2>
<p>Pythonを使えば、Excelを<strong>自動でPDFに変換</strong>する処理も一瞬です。</p>
<p>おすすめの活用例<br />
・毎日の勤怠表や報告書のPDF保存<br />
・請求書のExcel→PDF自動化<br />
・複数ファイルの一括変換ツールの作成</p>
<p>面倒な「ファイルを開いて→名前をつけて→PDFとして保存」の作業は、Pythonに任せてしまいましょう！</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4553</post-id>	</item>
		<item>
		<title>【Python×Excel】特定のシートだけを別ファイルとして保存する方法~新しいブックの作成~</title>
		<link>https://dokugakuexcel.com/%e3%80%90pythonxexcel%e3%80%91%e7%89%b9%e5%ae%9a%e3%81%ae%e3%82%b7%e3%83%bc%e3%83%88%e3%81%a0%e3%81%91%e3%82%92%e5%88%a5%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%a8%e3%81%97%e3%81%a6%e4%bf%9d/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590pythonxexcel%25e3%2580%2591%25e7%2589%25b9%25e5%25ae%259a%25e3%2581%25ae%25e3%2582%25b7%25e3%2583%25bc%25e3%2583%2588%25e3%2581%25a0%25e3%2581%2591%25e3%2582%2592%25e5%2588%25a5%25e3%2583%2595%25e3%2582%25a1%25e3%2582%25a4%25e3%2583%25ab%25e3%2581%25a8%25e3%2581%2597%25e3%2581%25a6%25e4%25bf%259d</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 18 Jun 2025 21:40:29 +0000</pubDate>
				<category><![CDATA[PDF化]]></category>
		<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4549</guid>

					<description><![CDATA[&#160; 大量のデータを扱うExcelでは、 「この1枚のシートだけ他の人に共有したい」「特定のシートだけ別ファイルにしたい」と思う場面、ありますよね。 実は、Pythonを使えば、複数シートを持つExcelファイル [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>&nbsp;</p>
<p>大量のデータを扱うExcelでは、</p>
<p>「この1枚のシートだけ他の人に共有したい」「特定のシートだけ別ファイルにしたい」と思う場面、ありますよね。</p>
<p>実は、<strong>Python</strong>を使えば、複数シートを持つExcelファイルの中から</p>
<p><strong>1つのシートだけを切り出して別ファイルに保存すること</strong>が簡単にできます。</p>
<p>今回ご紹介するのは、Pythonの人気ライブラリ「<strong>openpyxl</strong>」を使った方法です。</p>
<h2>&#x2b1b;︎こんなことができるようになる！</h2>
<p>・複数シートのExcelから、1つのシートだけを抜き出して保存できる<br />
・元ファイルを壊さず、特定のシートだけを共有可能<br />
・業務の効率化や、誤送信リスクの軽減に効果的</p>
<h2>&#x2b1b;︎使用ライブラリの準備</h2>
<p>まず、Pythonがインストールされていることを確認してください。<br />
次に、以下のライブラリをインストールします。</p>
<pre><code class="language-bash">pip install openpyxl
</code></pre>
<h2>&#x2b1b;︎サンプルコード：特定のシートだけ保存する方法</h2>
<p>では、例として、指定したExcelファイルを開いて対象シートをコピーしたいと思います。<br />
今回は、「A.xlsx」というファイルの「売り上げシート」というシートを新しく別のブックとして保存してみましょう。</p>
<p>&nbsp;</p>
<p>コードは以下の通りです。</p>
<pre><code class="language-python">from openpyxl import load_workbook, Workbook

# 元のファイルを読み込む
input_file = "A.xlsx"
sheet_to_extract = "売上シート"

# 元のブックからシートを取得
original_wb = load_workbook(input_file)
original_ws = original_wb[sheet_to_extract]

# 新しいブックを作成
new_wb = Workbook()
new_ws = new_wb.active
new_ws.title = sheet_to_extract

# セルの内容をすべてコピー
for row in original_ws.iter_rows(values_only=True):
    new_ws.append(row)

# 新しいファイルとして保存
new_wb.save(f"{sheet_to_extract}.xlsx")
</code></pre>
<h2>&#x2b1b;︎コード解説</h2>
<p>① <code>load_workbook()</code> で元のExcelファイルを読み込みます<br />
② <code>.iter_rows(values_only=True)</code> で1行ずつ読み取り<br />
③ <code>append()</code> を使って新しいブックにコピー<br />
④ <code>save()</code> で新しいファイルに保存（元ファイルは変更されません）</p>
<p>実行した結果は以下の通りです。</p>
<p><img decoding="async" class="alignnone wp-image-4550 " src="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-8.png" width="477" height="36" /></p>
<p>無事、対象のシート名で新しくブックを作成することができました。</p>
<h2>&#x2b1b;︎応用：複数のシートを選んで保存したいときは？</h2>
<p>以下のように、対象シート名をリスト化してループで処理すればOKです。</p>
<pre><code class="language-python">sheets_to_extract = ["売上", "在庫"]

for sheet_name in sheets_to_extract:
    original_ws = original_wb[sheet_name]
    new_wb = Workbook()
    new_ws = new_wb.active
    new_ws.title = sheet_name

    for row in original_ws.iter_rows(values_only=True):
        new_ws.append(row)

    new_wb.save(f"{sheet_name}.xlsx")
</code></pre>
<h2>&#x2b1b;︎まとめ</h2>
<p>Pythonを使えば、面倒な「シートだけ保存」の作業が一瞬で終わります！</p>
<h2>■ この技術はこんな時に便利</h2>
<p>・営業部だけに「売上」シートだけ送りたい<br />
・在庫管理だけ別ファイルにしてクラウドで共有したい<br />
・機密性の高いシートを切り離して渡したい</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4549</post-id>	</item>
		<item>
		<title>【Python×Excel】PythonでExcelの条件付き書式を設定する方法（色分けや強調）</title>
		<link>https://dokugakuexcel.com/%e3%80%90pythonxexcel%e3%80%91python%e3%81%a7excel%e3%81%ae%e6%9d%a1%e4%bb%b6%e4%bb%98%e3%81%8d%e6%9b%b8%e5%bc%8f%e3%82%92%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95%ef%bc%88%e8%89%b2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590pythonxexcel%25e3%2580%2591python%25e3%2581%25a7excel%25e3%2581%25ae%25e6%259d%25a1%25e4%25bb%25b6%25e4%25bb%2598%25e3%2581%258d%25e6%259b%25b8%25e5%25bc%258f%25e3%2582%2592%25e8%25a8%25ad%25e5%25ae%259a%25e3%2581%2599%25e3%2582%258b%25e6%2596%25b9%25e6%25b3%2595%25ef%25bc%2588%25e8%2589%25b2</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Wed, 18 Jun 2025 21:22:56 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4542</guid>

					<description><![CDATA[&#160; 日常業務でよく使うExcelですが、見やすく整えるために「条件付き書式」を使う場面は多いですよね。 たとえば、「数値が100を超えたら赤く表示する」など、重要なデータがひと目で分かる工夫です。 実はこの条件 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>&nbsp;</p>
<p>日常業務でよく使うExcelですが、見やすく整えるために「<strong>条件付き書式</strong>」を使う場面は多いですよね。<br />
たとえば、「数値が100を超えたら赤く表示する」など、重要なデータがひと目で分かる工夫です。</p>
<p>実はこの条件付き書式も、<strong>Python</strong>を使えば自動で設定できます。<br />
繰り返しの作業を自動化すれば、入力ミスも防げて作業もスピードアップ！</p>
<p>今回は、<strong>Pythonとopenpyxlを使って条件付き書式を設定する方法</strong>をご紹介します。</p>
<h2>&#x2b1b;︎こんなことができるようになる！</h2>
<p>・PythonでExcelの条件付き書式を自動設定できる<br />
・数値に応じてセルの色を変更できる<br />
・「色分け・強調」を自動で付けるテンプレートを作れる</p>
<h2>&#x2b1b;︎準備：openpyxlのインストール</h2>
<p>Pythonと「openpyxl」ライブラリが必要です。まだインストールしていない場合は以下のコマンドでインストールしてください。</p>
<pre><code class="language-bash">pip install openpyxl
</code></pre>
<h2>&#x2b1b;︎実践：100以上の数値に赤色をつける条件付き書式</h2>
<p>以下のコードでは、<strong>「B列の数値が100以上なら赤い文字にする」</strong>という条件付き書式を適用します。</p>
<p><img decoding="async" width="255" height="143" class="alignnone wp-image-4546 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-7.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-7.png 255w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-7-120x68.png 120w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-7-160x90.png 160w" sizes="(max-width: 255px) 100vw, 255px" /></p>
<pre><code class="language-python">from openpyxl import Workbook
from openpyxl.styles import Font
from openpyxl.formatting.rule import CellIsRule

# ワークブックとシートを作成
wb = Workbook()
ws = wb.active
ws.title = "スコア"

# 見出しとデータの入力
ws["A1"] = "名前"
ws["B1"] = "点数"
data = [("田中", 80), ("佐藤", 120), ("鈴木", 95), ("山本", 150)]

for row in data:
    ws.append(row)

# 条件付き書式の設定（100以上で赤色）
red_font = Font(color="FF0000")
rule = CellIsRule(operator="greaterThanOrEqual", formula=["100"], font=red_font)
ws.conditional_formatting.add("B2:B100", rule)

# 保存
wb.save("score_highlight.xlsx")
</code></pre>
<h2>&#x2b1b;︎ポイント解説</h2>
<p>・<code>CellIsRule</code> を使って、セルの値に応じたルールを設定<br />
・<code>operator="greaterThanOrEqual"</code> は「以上」条件を意味する<br />
・<code>formula=["100"]</code> で閾値を100に設定<br />
・<code>Font(color="FF0000")</code> で赤色の文字に変化</p>
<h2>&#x2b1b;︎応用：セルの背景色を変えることも可能！</h2>
<p>文字色ではなく<strong>背景色</strong>を変えることもできます。</p>
<pre><code class="language-python">from openpyxl.styles import PatternFill

# 背景を薄赤に設定
fill = PatternFill(start_color="FFC7CE", end_color="FFC7CE", fill_type="solid")
rule = CellIsRule(operator="greaterThanOrEqual", formula=["100"], fill=fill)
ws.conditional_formatting.add("B2:B100", rule)
</code></pre>
<h2>&#x2b1b;︎複数条件を設定したいときは？</h2>
<p>条件を複数設定することもできます。</p>
<p>例：「70未満は青色、100以上は赤色」</p>
<pre><code class="language-python"># 70未満 → 青色
blue_font = Font(color="0000FF")
rule_low = CellIsRule(operator="lessThan", formula=["70"], font=blue_font)
ws.conditional_formatting.add("B2:B100", rule_low)

# 100以上 → 赤色（前述）
rule_high = CellIsRule(operator="greaterThanOrEqual", formula=["100"], font=red_font)
ws.conditional_formatting.add("B2:B100", rule_high)
</code></pre>
<h2>&#x2b1b;︎まとめ</h2>
<p>Pythonとopenpyxlを使えば、条件付き書式も自由自在に設定できます。<br />
Excelで行っていた面倒な「手動で色付け」作業も、自動化であっという間に完了です。</p>
<h2>■活用例</h2>
<p>・営業成績が一定以上の社員を色分け<br />
・在庫数が少ない商品を強調表示<br />
・テスト結果の合否判定を自動で色分け</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4542</post-id>	</item>
		<item>
		<title>【Python×Excel】PandasでExcelデータを読み書きする方法（大量データに強い！）</title>
		<link>https://dokugakuexcel.com/%e3%80%90pythonxexcel%e3%80%91pandas%e3%81%a7excel%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e8%aa%ad%e3%81%bf%e6%9b%b8%e3%81%8d%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95%ef%bc%88%e5%a4%a7%e9%87%8f%e3%83%87/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590pythonxexcel%25e3%2580%2591pandas%25e3%2581%25a7excel%25e3%2583%2587%25e3%2583%25bc%25e3%2582%25bf%25e3%2582%2592%25e8%25aa%25ad%25e3%2581%25bf%25e6%259b%25b8%25e3%2581%258d%25e3%2581%2599%25e3%2582%258b%25e6%2596%25b9%25e6%25b3%2595%25ef%25bc%2588%25e5%25a4%25a7%25e9%2587%258f%25e3%2583%2587</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Tue, 17 Jun 2025 14:52:01 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4537</guid>

					<description><![CDATA[&#160; 「業務で使ってるExcel、数千行もあるから編集するのに時間かかってしょうがない…」 そんな悩みを抱えるあなたにオススメしたいのが、Pythonのライブラリ**Pandas（パンダス）**です。 このライブ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>&nbsp;</p>
<p>「業務で使ってるExcel、数千行もあるから編集するのに時間かかってしょうがない…」<br />
そんな悩みを抱えるあなたにオススメしたいのが、Pythonのライブラリ**Pandas（パンダス）**です。<br />
このライブラリを使えば、<strong>Excelファイルの読み書きをコードで一瞬で終わらせることができます</strong>。</p>
<p>今回は、以下のようなExcelファイルを使って説明します。</p>
<table>
<thead>
<tr>
<th>名前</th>
<th>年齢</th>
<th>部署</th>
</tr>
</thead>
<tbody>
<tr>
<td>田中</td>
<td>28</td>
<td>営業</td>
</tr>
<tr>
<td>鈴木</td>
<td>34</td>
<td>開発</td>
</tr>
<tr>
<td>佐藤</td>
<td>25</td>
<td>総務</td>
</tr>
</tbody>
</table>
<hr />
<h3>1. 必要なライブラリのインストール</h3>
<p>最初に、<code>pandas</code>と<code>openpyxl</code>をインストールしておきましょう。</p>
<pre><code class="language-bash">pip install pandas openpyxl
</code></pre>
<hr />
<h3>2. Excelファイルの読み込み</h3>
<p>まずはExcelファイル（例: <code>sample.xlsx</code>）を読み込んで、中身を表示してみましょう。</p>
<pre><code class="language-python">import pandas as pd

# Excelファイルを読み込む
df = pd.read_excel("sample.xlsx")

# 中身を表示
print(df)
</code></pre>
<h4>出力結果：</h4>
<pre><code>   名前  年齢   部署
0  田中  28   営業
1  鈴木  34   開発
2  佐藤  25   総務
</code></pre>
<hr />
<h3>3. データを編集する</h3>
<p>読み込んだデータフレーム（表）に新しい列「勤務年数」を追加してみましょう。</p>
<pre><code class="language-python"># 勤務年数を追加
df["勤務年数"] = [3, 7, 2]

print(df)
</code></pre>
<h4>出力結果：</h4>
<pre><code>   名前  年齢   部署  勤務年数
0  田中  28   営業      3
1  鈴木  34   開発      7
2  佐藤  25   総務      2
</code></pre>
<hr />
<h3>4. 編集したデータをExcelに保存する</h3>
<p>編集後のデータを新しいExcelファイル（例: <code>updated.xlsx</code>）として保存します。</p>
<pre><code class="language-python"># Excelファイルとして保存（indexは行番号なので省略するのが一般的）
df.to_excel("updated.xlsx", index=False)
</code></pre>
<p>保存されたExcelファイルを開くと、新しい「勤務年数」列が反映されています。</p>
<hr />
<h3>5. 複数シートを扱う方法（応用）</h3>
<p>もし複数のシートにデータを書きたい場合は、以下のように書きます。</p>
<pre><code class="language-python">with pd.ExcelWriter("multi_sheet.xlsx", engine="openpyxl") as writer:
    df.to_excel(writer, sheet_name="社員一覧", index=False)
    df[df["部署"] == "営業"].to_excel(writer, sheet_name="営業部", index=False)
</code></pre>
<hr />
<h3>まとめ</h3>
<p>Pandasを使えば、<strong>Excelファイルの読み書き・編集・保存が数行のコードで完了</strong>します。<br />
特に、<strong>大量データの処理や自動化に強く、毎日の手作業を一気に減らせる</strong>のが魅力です。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4537</post-id>	</item>
		<item>
		<title>【Python×Excel】ファイルを読み取り、グラフを挿入する方法～openpyxl.chart編～</title>
		<link>https://dokugakuexcel.com/%e3%80%90pythonxexcel%e3%80%91%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e8%aa%ad%e3%81%bf%e5%8f%96%e3%82%8a%e3%80%81%e3%82%b0%e3%83%a9%e3%83%95%e3%82%92%e6%8c%bf%e5%85%a5%e3%81%99%e3%82%8b/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590pythonxexcel%25e3%2580%2591%25e3%2583%2595%25e3%2582%25a1%25e3%2582%25a4%25e3%2583%25ab%25e3%2582%2592%25e8%25aa%25ad%25e3%2581%25bf%25e5%258f%2596%25e3%2582%258a%25e3%2580%2581%25e3%2582%25b0%25e3%2583%25a9%25e3%2583%2595%25e3%2582%2592%25e6%258c%25bf%25e5%2585%25a5%25e3%2581%2599%25e3%2582%258b</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Tue, 17 Jun 2025 14:07:57 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4530</guid>

					<description><![CDATA[&#160; PythonからExcelファイルを自動生成するだけでなく、「グラフ」も自動で挿入できたら便利ですよね？ 今回は、Pythonのライブラリ「openpyxl」を使って、棒グラフをExcelファイルに自動で描 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>&nbsp;</p>
<p>PythonからExcelファイルを自動生成するだけでなく、「グラフ」も自動で挿入できたら便利ですよね？<br />
今回は、Pythonのライブラリ「openpyxl」を使って、<strong>棒グラフ</strong>をExcelファイルに自動で描画する方法を紹介します。<br />
報告書作成やデータの可視化に役立つテクニックです。</p>
<h2>使用ライブラリ：openpyxl</h2>
<p>使用するライブラリーは「<code class="language-bash">openpyxl</code>」となります。</p>
<p>以下のコードをプロンプトに打ち込みライブラリーをインストールしましょう</p>
<pre><code class="language-bash">pip install openpyxl
</code></pre>
<hr />
<h2>実行するとどうなる？（完成イメージ）</h2>
<p>以下のコードを実行すると、以下のような処理が行われます：</p>
<ol>
<li>「sample.xlsx」というExcelファイルを新規作成</li>
<li>数字データをA列・B列に入力</li>
<li>B列のデータを使って棒グラフを作成</li>
<li>グラフをD5セル付近に表示</li>
<li>ファイルを保存
<p><img decoding="async" class="alignnone wp-image-4531 " src="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-3.png" width="594" height="284" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-3.png 1004w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-3-300x143.png 300w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-3-768x367.png 768w" sizes="(max-width: 594px) 100vw, 594px" /></li>
</ol>
<h2>サンプルコード</h2>
<pre><code class="language-python">from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference

# ワークブックとシートを作成
wb = Workbook()
ws = wb.active
ws.title = "データ"

# 見出しとデータを入力
data = [
    ["月", "売上"],
    ["1月", 300],
    ["2月", 420],
    ["3月", 380],
    ["4月", 500],
]
for row in data:
    ws.append(row)

# グラフを作成
chart = BarChart()
chart.title = "月別売上"
chart.x_axis.title = "月"
chart.y_axis.title = "売上"

# グラフに使用するデータ範囲を指定
data_ref = Reference(ws, min_col=2, min_row=1, max_row=5)
cats_ref = Reference(ws, min_col=1, min_row=2, max_row=5)
chart.add_data(data_ref, titles_from_data=True)
chart.set_categories(cats_ref)

# グラフをシートに追加（位置指定）
ws.add_chart(chart, "D5")

# 保存
wb.save("sample.xlsx")
</code></pre>
<hr />
<h2>解説</h2>
<ol>
<li><strong>WorkbookとWorksheetの作成</strong><br />
<code>Workbook()</code> でExcelファイルを新規作成し、<code>.active</code> で最初のシートを操作対象にします。</li>
<li><strong>データ入力</strong><br />
リスト形式で、見出し＋4か月分の売上データを <code>.append()</code> で1行ずつ入力します。</li>
<li><strong>BarChart（棒グラフ）の設定</strong><br />
<code>BarChart()</code> を使って棒グラフを作成し、タイトルや軸ラベルを設定します。</li>
<li><strong>グラフデータの参照範囲</strong><br />
<code>Reference()</code> でデータとカテゴリ（X軸）の範囲を指定します。<br />
ここではB列（売上）とA列（月）を使っています。</li>
<li><strong>グラフの追加と保存</strong><br />
グラフを <code>add_chart()</code> でD5セル付近に配置し、<code>save()</code> でExcelファイルを保存します。</li>
</ol>
<h2>PythonでExcelにグラフを挿入する方法【応用編】</h2>
<p>次に、openpyxlを使ってExcelにグラフを挿入する際の応用的なテクニックを3つ紹介します。<br />
実務で役立つ場面が多く、ビジネスレポートや自動化ツールに応用できます。</p>
<h3>1. 複数系列のデータを使った棒グラフを作成する方法</h3>
<h4>概要</h4>
<p>売上、利益、コストなどの複数項目を1つのグラフで比較できるようにします。<br />
<img decoding="async" class="alignnone wp-image-4532 " src="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-4.png" width="679" height="257" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-4.png 1099w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-4-300x114.png 300w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-4-1024x388.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-4-768x291.png 768w" sizes="(max-width: 679px) 100vw, 679px" /></p>
<h4>サンプルコード</h4>
<pre><code class="language-python">from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference

wb = Workbook()
ws = wb.active

# データ入力
ws.append(["月", "売上", "利益", "コスト"])
ws.append(["1月", 100, 30, 70])
ws.append(["2月", 120, 40, 80])
ws.append(["3月", 90, 25, 65])

# グラフの作成
chart = BarChart()
chart.title = "月別 売上・利益・コスト"
chart.x_axis.title = "月"
chart.y_axis.title = "金額"

# データ範囲を設定（系列）
data = Reference(ws, min_col=2, max_col=4, min_row=1, max_row=4)
# カテゴリ（X軸）
cats = Reference(ws, min_col=1, min_row=2, max_row=4)

chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)

ws.add_chart(chart, "E2")

wb.save("multi_series_bar.xlsx")
</code></pre>
<hr />
<h3>2. 折れ線グラフと棒グラフを同時に描画する複合グラフの作り方</h3>
<h4>概要</h4>
<p>売上を棒グラフ、利益率を折れ線で重ねるなど、2種類のグラフを1つにまとめる方法を解説します。<br />
<img decoding="async" class="alignnone wp-image-4533 " src="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-5.png" width="842" height="316" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-5.png 1101w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-5-300x113.png 300w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-5-1024x384.png 1024w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-5-768x288.png 768w" sizes="(max-width: 842px) 100vw, 842px" /></p>
<h4>サンプルコード</h4>
<pre><code class="language-python">from openpyxl import Workbook
from openpyxl.chart import BarChart, LineChart, Reference

wb = Workbook()
ws = wb.active

# データ入力
ws.append(["月", "売上", "利益率"])
ws.append(["1月", 100, 30])
ws.append(["2月", 120, 33])
ws.append(["3月", 90, 28])

# 棒グラフ（売上）
bar_chart = BarChart()
bar_data = Reference(ws, min_col=2, min_row=1, max_row=4)
cats = Reference(ws, min_col=1, min_row=2, max_row=4)
bar_chart.add_data(bar_data, titles_from_data=True)
bar_chart.set_categories(cats)

# 折れ線グラフ（利益率）
line_chart = LineChart()
line_data = Reference(ws, min_col=3, min_row=1, max_row=4)
line_chart.add_data(line_data, titles_from_data=True)
line_chart.set_categories(cats)

# 複合グラフとして重ねる
bar_chart += line_chart

ws.add_chart(bar_chart, "E2")

wb.save("combo_chart.xlsx")
</code></pre>
<hr />
<h3>3. データが100行以上ある場合に自動でグラフ範囲を計算する方法</h3>
<h4>概要</h4>
<p>データが継続的に増える場合、最終行を自動で取得してグラフの範囲を設定する方法を紹介します。<br />
<img decoding="async" class="alignnone wp-image-4534 " src="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-6.png" width="785" height="318" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-6.png 1007w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-6-300x122.png 300w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-6-768x311.png 768w" sizes="(max-width: 785px) 100vw, 785px" /></p>
<h4>サンプルコード</h4>
<pre><code class="language-python">from openpyxl import Workbook
from openpyxl.chart import LineChart, Reference

wb = Workbook()
ws = wb.active

# タイトル行
ws.append(["日付", "売上"])

# データ100件以上（例）
for i in range(1, 121):
    ws.append([f"2024-01-{i:02d}", i * 10])

# 最終行の自動取得
max_row = ws.max_row

# 折れ線グラフ
chart = LineChart()
data = Reference(ws, min_col=2, min_row=1, max_row=max_row)
cats = Reference(ws, min_col=1, min_row=2, max_row=max_row)
chart.add_data(data, titles_from_data=True)
chart.set_categories(cats)
chart.title = "売上推移（自動更新）"

ws.add_chart(chart, "D2")

wb.save("dynamic_chart.xlsx")
</code></pre>
<hr />
<h2>おわりに</h2>
<p>応用編では、実務でよく使われる「複数系列」「複合グラフ」「動的範囲」などを扱いました。<br />
これらを組み合わせることで、Pythonを使った本格的なExcelレポート作成が可能になります。</p>
<h2>まとめ</h2>
<ul>
<li><code>openpyxl.chart</code> を使うと、Pythonだけでグラフ付きExcelを作成できます</li>
<li>文字や数値だけでなく、<strong>視覚的な情報を自動生成</strong>できるのは大きな強み</li>
<li>棒グラフ以外にも、折れ線グラフ（<code>LineChart</code>）、円グラフ（<code>PieChart</code>）なども対応可能</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4530</post-id>	</item>
		<item>
		<title>【Python×Excel】Excelファイルにデータを書き込む方法（openpyxl編）</title>
		<link>https://dokugakuexcel.com/%e3%80%90pythonxexcel%e3%80%91excel%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e6%9b%b8%e3%81%8d%e8%be%bc%e3%82%80%e6%96%b9%e6%b3%95%ef%bc%88openpyxl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2580%2590pythonxexcel%25e3%2580%2591excel%25e3%2583%2595%25e3%2582%25a1%25e3%2582%25a4%25e3%2583%25ab%25e3%2581%25ab%25e3%2583%2587%25e3%2583%25bc%25e3%2582%25bf%25e3%2582%2592%25e6%259b%25b8%25e3%2581%258d%25e8%25be%25bc%25e3%2582%2580%25e6%2596%25b9%25e6%25b3%2595%25ef%25bc%2588openpyxl</link>
		
		<dc:creator><![CDATA[matsu]]></dc:creator>
		<pubDate>Mon, 16 Jun 2025 14:50:31 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<guid isPermaLink="false">https://dokugakuexcel.com/?p=4525</guid>

					<description><![CDATA[Pythonを使えば、Excelファイルへのデータの書き込みも簡単に行えます。 この記事では、ライブラリ「openpyxl」を使って、Excelに文字や数字を入力する基本的な方法を、ステップごとにわかりやすく解説します。 [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Pythonを使えば、Excelファイルへのデータの書き込みも簡単に行えます。<br />
この記事では、ライブラリ「openpyxl」を使って、Excelに文字や数字を入力する基本的な方法を、ステップごとにわかりやすく解説します。</p>
<h2>1. 事前準備（openpyxlのインストール）</h2>
<p>まだインストールしていない場合は、以下のコマンドでインストールしてください：</p>
<pre><code>pip install openpyxl
</code></pre>
<hr />
<h2>2. 新しいExcelファイルを作成してデータを書き込む</h2>
<p>まずは、コードから紹介します。</p>
<p>今回は見本で、A1からC4にデータを自動入力するコードを作成しました。</p>
<pre><code class="language-python">from openpyxl import Workbook

# 新しいExcelファイルを作成
wb = Workbook()

# アクティブなシートを取得
ws = wb.active

# セルに値を書き込む
ws['A1'] = '名前'
ws['B1'] = '年齢'
ws['C1'] = '出身地'

# 複数の行を追加する
ws.append(['田中', 28, '東京'])
ws.append(['鈴木', 35, '大阪'])
ws.append(['佐藤', 42, '名古屋'])

# 保存
wb.save('output.xlsx')
</code></pre>
<p>このコードを実行すると、「output.xlsx」というファイルが作成され、次のような内容が入力されています：</p>
<p><img decoding="async" width="309" height="133" class="alignnone wp-image-4526 size-full" src="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-2.png" srcset="https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-2.png 309w, https://dokugakuexcel.com/wp-content/uploads/2025/06/Pasted-2-300x129.png 300w" sizes="(max-width: 309px) 100vw, 309px" /></p>
<table>
<thead>
<tr>
<th>名前</th>
<th>年齢</th>
<th>出身地</th>
</tr>
</thead>
<tbody>
<tr>
<td>田中</td>
<td>28</td>
<td>東京</td>
</tr>
<tr>
<td>鈴木</td>
<td>35</td>
<td>大阪</td>
</tr>
<tr>
<td>佐藤</td>
<td>42</td>
<td>名古屋</td>
</tr>
</tbody>
</table>
<hr />
<h2>3. 既存のExcelファイルに追記する</h2>
<p>既に存在するExcelファイルに、新しいデータを追加したい場合は、<code>load_workbook()</code> を使います。</p>
<pre><code class="language-python">from openpyxl import load_workbook

# 既存ファイルを読み込む
wb = load_workbook('output.xlsx')
ws = wb.active

# 最終行の下に新しいデータを追加
ws.append(['高橋', 30, '福岡'])

# 上書き保存
wb.save('output.xlsx')
</code></pre>
<h2>4. 任意のセルに直接書き込む</h2>
<p>特定のセルに直接値を入れることもできます。</p>
<pre><code class="language-python">ws['D1'] = '備考'
ws['D2'] = '新入社員'
</code></pre>
<h2>5. セルのスタイルを設定する（基本）</h2>
<p>文字の色や太字などの装飾もできます。</p>
<pre><code class="language-python">from openpyxl.styles import Font

# A1セルを太字にする
ws['A1'].font = Font(bold=True)
</code></pre>
<h2>まとめ</h2>
<ul>
<li><code>Workbook()</code> で新しいExcelを作成できる</li>
<li><code>ws.append()</code> で簡単に行を追加できる</li>
<li><code>load_workbook()</code> で既存ファイルを読み込み、追記可能</li>
<li><code>ws['A1'] = 値</code> でセル単位の入力が可能</li>
<li>スタイルも簡単に変更できる</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4525</post-id>	</item>
	</channel>
</rss>
