Excel

ExcelのVBA開発画面が文字化けしているとき

日本語版以外のwindows使ってるとでる。「システムロケールの変更」で日本語を選びましょう。 ネタ元 http://itemy.net/?p=1839

excelでユーザー操作にだけセルにロックかける

セルにロック属性つけてからの VBAで Worksheetオブジェクト.Protect UserInterfaceOnly:=True ネタ元 https://tonari-it.com/excel-vba-protect-userinterfaceonly/

Excelで区切り記号を挿入しながら複数の文字列を連結する TEXTJOIN

TEXTJOIN テキストジョイン (区切り記号, 空の文字列を無視, 文字列1, 文字列2, ..., 文字列252) 例えば別シートのA列にある文字を/で連結したい場合は =TEXTJOIN("/",,シート名!A:A) ネタ元 https://dekiru.net/article/14504/

ExcelVBA マクロやアドインにデジタル署名する方法

https://support.microsoft.com/ja-jp/office/%E3%83%9E%E3%82%AF%E3%83%AD-%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AB%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E7%BD%B2%E5%90%8D%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B-956e9…

四半期の期間

第1四半期:DATE(年度,4,1)~DATE(年度,6,30) 第2四半期:DATE(年度,7,1)~DATE(年度,9,30) 第3四半期:DATE(年度,10,1)~DATE(年度,12,31) 第4四半期:DATE(年度+1,1,1)~DATE(年度+1,3,31) ネタ元 https://www.waenavi.com/entry/20190824/1566621613#%EF%…

URL指定されてるセルからURLを取る

関数作ってそれを呼ぶ標準モジュールに以下追加 Function GetURL(lnk As Range) As String Dim Add As String If lnk.Hyperlinks.Count > 0 Then With lnk.Hyperlinks(1) If .Address Like "http*" Then Add = .Address End If End With End If If Add <> ""…

Excel から使うマネージDLL を作る方法

C#の例 参考 http://supermab.com/wp/excel-%E3%81%8B%E3%82%89%E4%BD%BF%E3%81%86%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8dll-%E3%82%92%E4%BD%9C%E3%82%8B%E3%80%82/ vb.netの場合は インターフェースの定義は Imports System.Runtime.InteropServices .. ' …

Excelフォームのコンボボックスで直接入力の禁止

プロパティのStyleをfmStyleDropDownListにする ネタ元 https://www.officepro.jp/excelvbaform/form_combo/index4.html

時間の範囲判定

時と分を数字にして比較 =IFS( AND(1455 <= HOUR(NOW())*100+MINUTE(NOW()),HOUR(NOW())*100+MINUTE(NOW()) <= 1459) ,"GO","") ネタ元 https://dekiru.net/article/4394/

数値を文字列に変換する/文字列の数字を数値に変換する

数値を文字列に変換 =TEXT(B3,"@")文字列の数字を数値に変換 =VALUE(B3) ネタ元 http://www4.synapse.ne.jp/yone/excel/excel_data_katahenkan.html#mojiretu

ピポットテーブルのデータソース範囲変更

ポピットテーブルを選択すると上メニューに「ピポットテーブル分析」がでるので、そこから「データソースの変更」を選ぶだけ ネタ元 https://support.office.com/ja-jp/article/%E3%83%94%E3%83%9C%E3%83%83%E3%83%88%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E…

Excel関数で営業日の月末

=WORKDAY(EOMONTH(A2,0)+1,-1) ネタ元 http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/hiduke02.html

Excel2013、Excel2010、Excel2007等古いエクセルでIFSを使う方法

IFSを自前で実装する Function IFS(ParamArray par()) Dim i As Integer IFS = CVErr(xlErrNA) If UBound(par) Mod 2 = 0 Then Exit Function End If For i = LBound(par) To UBound(par) - 1 Step 2 If par(i) Then IFS = par(i + 1) Exit Function End If …

ExcelのIFSでELSEするには

IFS(条件,結果,条件,結果,条件,結果....TRUE,"") と一番最後にTRUEで必ず処理される条件を入れればOK

Excelで複数のIF()書くなら IFS()も検討を

条件,結果,条件,結果,条件,結果 ...って書くだけなので楽。あんま長いの書くのは、やっぱり大変だけど ネタ元 https://www.hello-pc.net/howto-excel/ifs/

Excelで1ヶ月前/1ヶ月先の日付取得するにはEDATE 関数

EDDATE(A2,-1)とかで1ヶ月前 ネタ元 http://www.excel.studio-kazu.jp/func/edate.html

Excelで関数へ渡す引数をセル指定するならINDIRECT

こんな感じ。 =AVERAGE(INDIRECT("P2:P"&F2))ネタ元 https://excel-excel.com/beginner/beginner38.html

Excelの文字置換はREPLACEじゃなくてSUBSTITUTE関数がイメージに近い

REPLACEは開始位置と文字数を指定して置換位置を指定する方式だけど SUBSTITUTEなら、置換したい文字を指定するだけ。 ネタ元 https://www.forguncy.com/blog/20171027_function_replace_substitute

Excelのフィルタオプション機能で別セルにリストアップした条件に一致したものだけ残すようにフィルタリング

フィルターの詳細設定を利用する。 ネタ元 excel-excellent-technics.com

Excelの列が英字から数字になってしまったのを戻す方法

ファイル>オプション>数式にある「数式の処理」で 「R1C1参照形式を使用する」のチェックを外す。 ネタ元 https://bizfaq.jp/excel-retsu-suuji-2/

Excelで数値&文字のセルから数字のみを抽出する関数

ややこしいけど関数でできる例:A1 = '50円'の場合 50と出力 =LOOKUP(10^17,LEFT(A1,COLUMN($1:$1))*1) ;A1から数字のみ"50"を抽出詳しい理屈はネタ元へ ネタ元 https://qiita.com/mhara/items/82421d1b34e88a3efba1

Excelで名前付き範囲を編集・削除する

メニュー>数式>名前の管理です。 ネタ元 https://www.wanichan.com/pc/excel/2016/8/47.html

Excelのピポットテーブルで勝手にグルーピングされるのを解除する方法

グルーピングされてる項目のところで右クリックして「グルーピング解除」すれば解除される。標準でグルーピング解除するには [Excelのオプション]の[詳細設定]カテゴリーの[データ]内にある[ピボットテーブルで日付/時刻の自動グループ化を無効にする]のチェ…

Excelで指数平滑移動平均(EMA)の計算

どこを起点に計算を開始するかで数値が変わってくる。 頭からやるのが正式なんだろうけど。 ネタ元 http://happy.kabu-web.net/kabu_index4.html

Excelで名前ボックスの項目を削除する方法

操作手順:名前を削除する [数式]タブ [定義された名前]グループ [名前の管理]ボタンをクリック ↓ [名前の管理]ダイアログで 削除したい名前を選択後[削除]ボタンをクリック ↓ 「名前○○を削除してもよろしいですか?」メッセージボックスの [OK]…

Excelで重複データを抽出する

簡単な機能はない =IF(COUNTIF($B$3:$B$8,B3)>1,"重複","")てな感じで、重複チェックするセル作ってフィルタで重複してるのだけ出すようにする ネタ元 https://www.tipsfound.com/excel/06005

excel ピボットテーブルで累計を求める

累計したい列の右クリック。ショートカットメニューから[計算の種類]-[累計]をクリック ネタ元 https://hamachan.info/win8/excel/ruikei.html

Excelの「WEBSERVICE関数」で外部サービスAPIからデータを手軽に取得する連携方法

Excel 2013から追加されている「WEBSERVICE」関数でwebデータとってきて、 「FILTERXML」関数(XPathが使える)と組み合わせて、個別のデータを手軽に取得できます。 ネタ元 http://did2memo.net/2017/03/12/excel-function-webservice/

excelでボタンをコピーしたとき、何故かActiveSheet.Shapes(Application.Caller).TopLeftCell.Addressがコピー元のアドレスが返ってくるとき対策

こんなマクロでボタンの位置がとれるんだけど、 なぜかボタンをコピーするとコピー元の座標が返ってくる現象に遭遇する時がある。 MsgBox ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address MsgBox ActiveSheet.Shapes(Application.Caller).TopLe…

セル参照の名前を定義する excel2016

名前を定義する [セル] を範囲選択します。 [数式] タブをクリックして定義された名前グループにある [名前の定義] をクリックします。 [名前] にセル参照の名前を入力します。ここでは「範囲」と入力して [OK] をクリックします。 ネタ元 http://www.tipsfo…