<?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>角括弧 &#8211; カミュプリィの雑多なメモ</title>
	<atom:link href="https://www.commuply.co.jp/technic/memo/tag/%E8%A7%92%E6%8B%AC%E5%BC%A7/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.commuply.co.jp/technic/memo</link>
	<description></description>
	<lastBuildDate>Fri, 08 Nov 2024 00:51:14 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://www.commuply.co.jp/technic/memo/wp-content/uploads/site-icon-150x150.png</url>
	<title>角括弧 &#8211; カミュプリィの雑多なメモ</title>
	<link>https://www.commuply.co.jp/technic/memo</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>[Excel]ワークシート名を取得</title>
		<link>https://www.commuply.co.jp/technic/memo/excel%e3%83%af%e3%83%bc%e3%82%af%e3%82%b7%e3%83%bc%e3%83%88%e5%90%8d%e3%82%92%e5%8f%96%e5%be%97/</link>
		
		<dc:creator><![CDATA[ume]]></dc:creator>
		<pubDate>Fri, 08 Nov 2024 00:51:13 +0000</pubDate>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[CELL]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[filename]]></category>
		<category><![CDATA[FIND]]></category>
		<category><![CDATA[ISERROR]]></category>
		<category><![CDATA[LEN]]></category>
		<category><![CDATA[LET]]></category>
		<category><![CDATA[MID]]></category>
		<category><![CDATA[SUBSTITUTE]]></category>
		<category><![CDATA[ローコード]]></category>
		<category><![CDATA[ワークシート名]]></category>
		<category><![CDATA[角括弧]]></category>
		<guid isPermaLink="false">https://www.commuply.co.jp/technic/memo/?p=620</guid>

					<description><![CDATA[　ウェブやモバイルのエクセルでは CELL関数 がサポートされていないそうです ワークシート名を取得する関数 　Excelのワークシート名をセルに表示するためにCELL関数を使います。CELL関数の戻り値にはファイルパス [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">　ウェブやモバイルのエクセルでは CELL関数 がサポートされていないそうです</p>



<h2 id="%25e3%2583%25af%25e3%2583%25bc%25e3%2582%25af%25e3%2582%25b7%25e3%2583%25bc%25e3%2583%2588%25e5%2590%258d%25e3%2582%2592%25e5%258f%2596%25e5%25be%2597%25e3%2581%2599%25e3%2582%258b%25e9%2596%25a2%25e6%2595%25b0" class="wp-block-heading has-base-2-background-color has-background" style="padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">ワークシート名を取得する関数</h2>



<p class="wp-block-paragraph">　Excelのワークシート名をセルに表示するためにCELL関数を使います。CELL関数の戻り値にはファイルパスとワークシート名を含むため、ワークシート名を抽出する必要があります</p>



<pre class="wp-block-code"><code>=CELL("filename")
　または
=CELL("filename",A1)

　↓
"https://・・・/一部のフォルダ名/&#91;ファイル名.xls]シート名"</code></pre>



<p class="wp-block-paragraph">　上の式にある『A1』は範囲を表します。現在のワークシートのA1セルという意味です。A2でもB1でもOKです。現在のワークシートのどこかを指していれば何でもOKです<br>　範囲を省略することもできますが、別のワークシートで同じ式が使われると、こちらの計算結果も別のワークシートのものと同じになるそうです。きっとキャッシュが絡んだ問題なのでしょう</p>



<p class="wp-block-paragraph"><a href="https://support.microsoft.com/ja-jp/office/%E7%8F%BE%E5%9C%A8%E3%81%AE-excel-%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%90%8D%E5%89%8D-%E3%83%91%E3%82%B9%E5%90%8D-%E3%81%BE%E3%81%9F%E3%81%AF%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B7%E3%83%BC%E3%83%88%E5%90%8D%E3%82%92%E3%82%BB%E3%83%AB%E3%81%AB%E6%8C%BF%E5%85%A5%E3%81%99%E3%82%8B-186833c6-c899-4912-a14c-240c2eb51e0b" target="_blank" rel="noreferrer noopener">現在の Excel ファイルの名前、パス名、またはワークシート名をセルに挿入する － Microsoft</a></p>



<p class="wp-block-paragraph"><a href="https://support.microsoft.com/ja-jp/office/cell-%E9%96%A2%E6%95%B0-51bd39a5-f338-4dbe-a33f-955d67c2b2cf" target="_blank" rel="noreferrer noopener">CELL 関数 － Microsoft</a></p>



<h2 id="%25e6%2596%2587%25e5%25ad%2597%25e5%2588%2597%25e3%2581%258b%25e3%2582%2589%25e3%2583%25af%25e3%2583%25bc%25e3%2582%25af%25e3%2582%25b7%25e3%2583%25bc%25e3%2583%2588%25e5%2590%258d%25e3%2582%2592%25e6%258a%25bd%25e5%2587%25ba" class="wp-block-heading has-base-2-background-color has-background" style="padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--10)">文字列からワークシート名を抽出</h2>



<p class="wp-block-paragraph">　CELL(&#8220;filename&#8221;)の戻り値に含まれる最後の角括弧（]）より右側がワークシート名になります</p>



<pre class="wp-block-code"><code>簡易に<strong>最初</strong>の角括弧より右側をとる式はこちら
=LET(FN,CELL("FILENAME",A1),MID(FN,FIND("]",FN)+1,LEN(FN)))

きちんと<strong>最後</strong>の角括弧より右側をとる式はこちら
=LET(FN,CELL("FILENAME",A1),IF(ISERROR(FIND("]",FN)),"",MID(FN,FIND(決して使われない記号,SUBSTITUTE(FN,"]",決して使われない記号,LEN(FN)-LEN(SUBSTITUTE(FN,"]",""))))+1,LEN(FN))))
　※注：「決して使われない記号」はパスやワークシート名に含まれない１文字</code></pre>



<p class="wp-block-paragraph">　きちんと<strong>最後</strong>の角括弧より右側をとる式はとても長いです。何をしているか説明します</p>



<ol class="wp-block-list">
<li>「<span style="text-decoration: underline;">CELL(&#8220;FILENAME&#8221;,A1)</span>」で、ワークシート名を含む値を取得して値の名前をFNにします</li>



<li>「<span style="text-decoration: underline;">IF(ISERROR(FIND(&#8220;]&#8221;,FN)),&#8221;&#8221;,</span>」で、FN値に角括弧が含まれていないときはブランクを返して終わります</li>



<li>「<span style="text-decoration: underline;">LEN(FN)-LEN(SUBSTITUTE(FN,&#8221;]&#8221;,&#8221;&#8221;))</span>」で、角括弧の数を調べます。角括弧をすべて取り除いたFN値の長さと、元のFN値の長さを比べることで、角括弧の数を調べています</li>



<li>「<span style="text-decoration: underline;">SUBSTITUTE(FN,&#8221;]&#8221;,決して使われない記号,角括弧の数)</span>」で、一番最後の角括弧を決して使われない記号に置き換えます</li>



<li>「<span style="text-decoration: underline;">FIND(決して使われない記号,一番最後の角括弧を決して使われない記号に置換したFN値)</span>」で、一番最後の角括弧の位置を特定します</li>



<li>「<span style="text-decoration: underline;">MID(FN,一番最後の角括弧の位置+1,LEN(FN))</span>」で、一番最後の角括弧よりも右側を取得します</li>
</ol>



<h2 id="%25e6%2584%259f%25e6%2583%25b3" class="wp-block-heading has-base-2-background-color has-background" style="padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--10)">感想</h2>



<p class="wp-block-paragraph">　こういった関数型の言語は「ローコード」とか言われて簡単に使えそうな雰囲気を醸し出すのに成功しています。でもこのように長いコードになると「読めない・理解できない」です。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
