ラベル Excel の投稿を表示しています。 すべての投稿を表示
ラベル Excel の投稿を表示しています。 すべての投稿を表示

水曜日, 8月 19, 2026

Excelで規則性がありフィル出来ないケースの対処

質問がありましたので・・・
Excelで規則性がありフィル出来ないケースの対処を整理しました。

説明が難しいのですが、こんな感じにしたい場合です。

開始値が 50ずつ増加
終了値は 開始値 + 49
という規則

普通にフィルすると、こんな結果になってしまいます。

そこで[1000〜1049]のセルに・・・
=TEXT(1000+(ROW(A1)-1)*50,"0")&"〜
        "&TEXT(1049+(ROW(A1)-1)*50,"0")
と記述します(※)
なお、ROW(A1) の「A1」は基準として使われるだけなので、数式をどのセルに入力しても同じです。

もじ列方向にフィルしたい場合は・・・
=TEXT(1000+(COLUMN(A1)-1)*50,"0")&"〜
        "&TEXT(1049+(COLUMN(A1)-1)*50,"0")
と記述します(※)

※一行で記述してください。

あとは、これをフィルするだけです。

処理後に表示を数式から文字列に変更したい場合は、全選択後にcommand Cに続けて同じ場所でcommand Vをする際に右クリリックにて[形式を選択してペースト]>[値]とすれば文字列に変更されます。

※Windowsお場合はcontrol C control V

月曜日, 8月 10, 2026

Excel VBA 56 
ExcelでA列の塗り色をB列にRGB表示

A列の塗り色をB列に範囲を指定してRGB表示します。

Sub OutputRGB()

Dim ws As Worksheet
Dim startRow As Long
Dim endRow As Long
Dim i As Long
Dim clr As Long
Dim r As Long, g As Long, b As Long

Set ws = ActiveSheet

startRow = CLng(InputBox("開始行を入力してください", "開始行"))
endRow = CLng(InputBox("終了行を入力してください", "終了行"))

If startRow > endRow Then
MsgBox "開始行は終了行以下にしてください。"
Exit Sub
End If

For i = startRow To endRow

clr = ws.Cells(i, "A").Interior.Color

r = clr Mod 256
g = (clr / 256) Mod 256
b = (clr / 65536) Mod 256

ws.Cells(i, "B").Value = "RGB(" & r & ", " & g & ", " & b & ")"

Next i

MsgBox "完了しました。"

End Sub

データを用意して実行すると・・・

開始行を指定し・・・

終了行を指定すれば・・・

完了です。

こんな感じになります。

土曜日, 8月 01, 2026

HTMLとCSSの様々な表現 28 
TableデータはExcelで整理すると何かと便利です

前回の様にTableデータのように類似した記述が必要な場合はExcelを活用すると効果的です。

HTMLとCSSの様々な表現 27 色名を直接記述できる標準的な140色の一覧を16進数順に乱立 2026/07/24

まず類似データを列ワケして作成し、行部分はコピーで処理します。

少しずつ整えていきます。

ある程度まとまったらエディターへコピーします。

コピー後に[検索置換]でTABキーを一括削除します。

上は処理結果です。

あとは必要に応じて行頭に[検索置換]でTABキーを入れて体裁を整えます。意外と効果的で癖になります。


金曜日, 7月 31, 2026

Excel VBA 55 
ExcelでA列の16進数の色でB列を塗りつぶす

A列の16進数の色でB列を塗りつぶします。

Sub FillColorFromHex()

Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim hexColor As String
Dim r As Long, g As Long, b As Long

Set ws = ActiveSheet

lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

For i = 1 To lastRow

hexColor = Trim(ws.Cells(i, "A").Value)

' #を除去
If Left(hexColor, 1) = "#" Then
hexColor = Mid(hexColor, 2)
End If

' 6桁の16進数のみ処理
If Len(hexColor) = 6 Then

r = CLng("&H" & Mid(hexColor, 1, 2))
g = CLng("&H" & Mid(hexColor, 3, 2))
b = CLng("&H" & Mid(hexColor, 5, 2))

ws.Cells(i, "B").Interior.Color = RGB(r, g, b)

End If

Next i

End Sub

A列に16進数を記述します。

マクロ実行後はこんな感じです。

日曜日, 5月 10, 2026

Excelで漢数字表記の限界?

Photoshopのビット/チャンネルの質問があったときに、気になって漢数字に切り換えてみることを思いつきました。
それぞれを用途別に分類すると・・・
Webデザイン → 8bit
本格写真編集 → 16bit
映画/VFX → 32bit

8〜32ビットまでの実数を計算した結果です。
ちなみにExcelで乗数を求めるのはPower関数を使います。
8ビット/チャンネルは2の8乗なのおで・・・
=power(2,8)
となります。

[ホーム]>[書式]>[セルの書式設定]にて漢数字の設定を行えば・・・

結果はこんな感じですが、流石に32ビット/チャンネルの結果はワケワカメ状態です。

ところが、[ホーム]>[書式]>[セルの書式設定]にて大字の設定をすれば・・・

いい感じの漢数字を表示しますが32ビット/チャンネルは根本的に兆以上の桁に対応していないことが解りました。

兆以上の桁はこんな感じです。

Excelで桁表記を調整出来るのか?よく分からないので手動で調整してみました。

七穣
九阡弐百弐拾八𥝱
壱阡六百弐拾伍垓
壱阡四百弐拾六京
四阡三百兆

読み方は・・・

ななじょう、
きゅうせんにひゃくにじゅうはちじょ、
せんろっぴゃくにじゅうごがい、
せんよんひゃくにじゅうろくけい、
よんせんさんびゃくちょう

普通は無関係な桁ですが、ちょっと面白いですね。

火曜日, 2月 24, 2026

Excelで満年齢と数え年計算

Excelで満年齢と数え年の計算をします。

満年齢と数え年は、根本的に年齢の数え方が異なります。満年齢は生まれた日を0歳とし、誕生日を迎えるごとに1歳加算するのに対して、数え年は生まれた日を1歳とし、元日に加齢します。

ここでは1989年9月15日生まれのヒトデ説明します。
C3:=DATEDIF(B3,TODAY(),"Y")
D3:=YEAR(TODAY())-YEAR(B3)+1

2025年12月31日表示した結果。

2026年1月1日表示した結果。

2026年9月14日表示した結果。

2026年9月15日表示した結果。

2026年9月16日表示した結果。

基本的に現在で日常生活や公的な場面では満年齢なので、数え年はあまり使わないですね。

木曜日, 2月 12, 2026

Excelで日数計算を初日算入処理

何かをスタートした日を1日目としてカウントする場合の翌日は2日目になりますが、スタートした日を初日としてカウントする場合の翌日は1日経過となります。

整理すると「〇日以内」などの期間を定めた場合、初日は含めず(初日不算入)、その翌日からカウントを始めるのが原則(民法140条)ですが、例外として「〇日から起算して」と記す場合は初日を算入します。

Excelでは日付関数も含めて全てを初日不算入で計算しています。Excelではパラメータでの指定も用意されていませんのでイレギュラーとして初日算入したい場合を考えてみました。

E2セル 本日の日付
=TODAY()

D8セル デフォルトの初日算入処理
=DATEDIF(C8,E$2,"d")

E8セル 初日算入処理
=DATEDIF(C8-1,E$2,"d")

結局ベタな処理ですが、これがベストかも?

日曜日, 1月 25, 2026

Excelでセルの幅を自動調整設定

Excelでセルの幅を自動調整の設定手順を整理してみました。

まず新規ファイルを開いたらシートを右クリックし[コードの表示]をクリックし・・・

VBA編集パレットを表示します。

ここで[Worksheet]を選ぼうとするとアラートが表示されてしまう場合は以下のテキストを入力します。

Privaate Sub Workssheet_SelectionChange(ByVal Target)
Cells.EntireColumn.AutoFit
End Sub

もしアラートが表示されなければ以下のテキストが自動的に入力されているので・・・

Privaate Sub Workssheet_SelectionChange(ByVal Target)

End Sub

2行目に以下をタイピングします。

Cells.EntireColumn.AutoFit

更に行の高さも同時に調整したい場合は、以下も追加します。

Cells.EntireRow.AutoFit

入力した直後の状態です。このままパレットを閉じてOKです。

後はシート上でデータを入¥力すれば自動的にセル幅が調整されます。

纏めてコピー&ペースとしても有効です。

便利ですが、チマチマ変更されて・・・ちょっとウルサイですね。

セルの境界線をダブルクリックで調整した方が現実的かもしれませんね。

月曜日, 1月 19, 2026

Excel for Macは機能制限がある

Excel 365 for Macには機能制限が色々あります。ちょっとイライラしますね。今までも気がつい時に書き込みしていましたが、改めて特に気になった部分を整理してみました。今後気がついた時点で追加情報をアップします。

まず、一番困ったのがPDFの読み込みです。[データ]タグで表示されるメニューが同じではありません。

macOS版には[データ]>[データの取得]>[ファイルから]>[PDFから]と進めません。そもそも[データの取得]項目がありません。

またmacOS版ではセルをグラデーションで塗り潰す設定がありません。

Windows版では任意セルを選択した状態で右クリックして[セルの書式設定]の[塗り潰し]に[塗り潰し効果]が有ります。

どうしてないのか謎ですが、同一ソフトとは言いがたいですね。もしかして別の項目がある???