Excel 機能・関数

関数

IIf

IIf(式,True時値,False時値)
~ = IIf ( num > 100, “big”, “small” )

IfERROR

IFERROR(式,ERROR時値)
~ = IFERROR ( 0 / 0, 0 )

0/0のエラー時に0を表示する

VLOOKUP

~ = VLOOKUP( 検索値, 検索対象範囲, 返り値(検索後), [検索方法] )

SUMPRODUCT

文字列化された数値(時刻)の計算
=SUMPRODUCT((A1:A9) * 1)
+計算はできるがSUMはできない場合に使用

日付

=DATE(YEAR(~),MONTH(~),1)
→平成29年1月1日
=DATE(YEAR(~),MONTH(~)+1,1)-1
→平成29年1月31日
=TEXT(~,”mm/dd”)
→01/01
=TEXT(~,”ggge””年””m””月””d””日”””)
→平成29年1月31日

参照

絶対参照/相対参照
$A$1 絶対参照
A$1 絶対行参照
$A1 絶対列参照
A1 相対参照
範囲

A1:C1

対象 書き方
1~3行 1:3
A~C列 A:C
A1~C1セル

機能

リスト入力

セルを選択

データ > データの入力規則

設定 > リスト

元の値 > (選択肢を入力)

オブジェクトの選択

オブジェクト(図形等)をマウスの範囲選択で複数選択できる
クイックアクセスツールバー
全てのコマンド
オブジェクトの選択

数値を文字として扱う

データ → 外部ファイルを開く → 数値で記述されたファイルを選択
対象列を選択 → 文字列を選択

検索

正規表現エスケープ
「~」

~*
「*」を検索する場合

ショートカットキー

シート
操作 動作
「Ctrl」+「PageUp」 カレントシート移動
「Ctrl」+「PageDown」 カレントシート移動
「Ctrl」+「F1」 リボンメニュー表示/非表示
図形選択中に、「Ctrl」+「1」 図形の書式設定
「Ctrl」+ マウスホイール(↑) 拡大
「Ctrl」+ マウスホイール(↓) 縮小
「Alt」+ 「↓」 コンボボックス
操作 動作
SHIFT + SPACE 行選択
CTRL + SHIF +「+」 行挿入
(行選択状態で)
CTRL + SHIF +「+」 列挿入
(列選択状態で)
CTRL +「-」 行削除
セル
操作 動作
F4 直前の動作を繰り返し
セル入力中に、「ALT」+「ENTER」 タブ内改行

Excelでのフローチャートの書き方

フローチャートとは?

プログラムの流れを表した図
アルゴリズムやプロセスを表現する

Excelでフローチャートを書く

Excelでフローチャートを書くメリット

・環境に依存しない
 Excelさえあれば新規のアプリケーション等をインストールする必要が無い
 移動先等でも修正等を行える
・既存のExcelドキュメントに差し込める
・Excelの多彩な機能を利用できる

Excelでフローチャートを書くデメリット

・記号の数が少ない
・Excelの余計な機能が描画の邪魔をする

Excelで記述する場合の注意点

図と図を接続する
flowchart16
メリットの1つ「Excelの多彩な機能を利用できる」
これにより線は接続されたまま各図を動かして全体のレイアウトを調整できます。

ズレを矯正する
flowchart17
デメリットの1つ「Excelの余計な機能が描画の邪魔をする」
接続された線が真っすぐにならない事がよくあります。
デフォルトでは矯正できません。
「書式」タブを追加設定し、「ズレ」欄の値を0cmにする必要があります。
「書式」タブや「ズレ」欄の追加設定の方法はExcelのバージョンに依ります。

一覧

flowchart (1) 端子 フローチャートの最初と最後に使用
flowchart (2) 処理 計算や代入など
flowchart (3) 入出力 ファイルへの入出力
flowchart (4) 書類 プリンタなどへのデータ出力
flowchart (5) ループ開始 ループの始まり
flowchart (6) ループ終了 ループの終わり
flowchart (7) 判断 条件によって分岐(if分等)
flowchart (8) 結合子 ページ内で結合
flowchart (9) 他ページ結合子 他のページとの結合
flowchart (10) 準備 変数の宣言や初期値の設定等
flowchart (11) 定義済み処理 別に用意した処理を利用

判断記号のパターン

A=B

flowchart (13)

A>B

flowchart (14)

A=1、A=2・・・

flowchart (15)

flowchart (12)

Excel VBA

アプリケーション

アプリケーション操作

最小化
ActiveWindow.WindowState = xlMinimized

警告メッセージ表示・非表示

シートの削除、ブックの終了時等
Application.DisplayAlerts = False
Application.DisplayAlerts = True

遂次実行

VBA上での画面操作(行削除やテキスト変更等)を実際の画面で反映させる・させないの設定
Application.ScreenUpdating = False
Application.ScreenUpdating = True

Book

ActiveBookパス
ActiveWorkbook.Path

Book操作

新規Book開く
Workbooks.Add

既存Bookを開く
Workbooks.Open ("C:\Time.csv")
Set ObjTime = ActiveWorkbook.Worksheets(1)

保存して閉じる
ActiveWorkbook.Close SaveChanges:=True
Set ObjTime = Nothing

CSV形式で保存
ActiveWorkbook.SaveAs SavePath & "\" & "TEST", Excel.XlFileFormat.xlCSV

TEXT形式で保存
ActiveWorkbook.SaveAs SavePath & "\" & "TEST", Excel.XlFileFormat.xlCurrentPlatformText
ActiveWorkbook.SaveAs SavePath & "\" & "TEST", Excel.XlFileFormat.xlNormal

保存せずに終了
ActiveWorkbook.Close SaveChanges:=False

シート

Sheet情報

シート数
1枚の時:1。0という事はない
ReturnValue = ActiveWorkbook.Sheets.Count
ReturnValue = 1

シート名
ReturnValue = ActiveWorkbook.Worksheets(1).Name
ReturnValue = "Sheet1"

シート操作

新シート追加
ActiveWorkbook.Sheets.Add

全シートを削除
ActiveWorkbook.Sheets.Delete

シートコピー
ActiveSheets.Copy After:=Worksheets(1)
ActiveSheets.Copy Before:=Worksheets(1)

Book間シートコピー
ActiveWorkBook.WorkSheets(1).Copy After:=Workbooks("~").Worksheets(1)
ActiveWorkBook.WorkSheets(1).Move Before:=Workbooks("~").Worksheets(1)

行・列操作

~.Rows(1:1).Copy '行のコピー
~.Rows(1:1).Cut '行の切り取り
~.Columns("A:D").Copy '列のコピー
~.Rows(2:2).Insert '↑内容の貼り付け
先頭行の固定
~.Rows(2:2).Select
~.ActiveWindow.FreezePanes = True

~.Columns("A:D").ColumnWidth = 20 '列幅
~.Rows("2:2").RowHeight = 20 '行高
~.Rows(5).EntireColumn.AutoFit '列幅自動調整
~.Columns(5).EntireRow.AutoFit '行高自動調整

ヘッダー・フッター

With ActiveSheet.PageSetup
 .LeftHeader = Range("A1").Value 'ヘッダー文字
 .CenterHeader = Range("A2").Value
 .RightHeader = Range("A3").Value
 .LeftFooter = Range("A4").Value 'フッター文字
 .CenterFooter = Range("A5").Value
 .RightFooter = Range("A6").Value
End With

抽出

Range("A1:B5000").AdvancedFilter
 Action:=xlFilterCopy, _
 CriteriaRange:=Range("F1:F2"), _ 'CriteriaRange … 検索条件
 CopyToRange:=Range("F4"), _ 'CopyToRange … 検索結果出力先
 Unique:=False

ソート

Cells(1, 1)、Cells(1, 2)順に並び変え
Range("A1:E5").Sort key1:=Cells(1, 1), _ 'キー
 order1:=xlAscending, _ '昇順
 key2:=Cells(1, 2), _
 order2:=xlAscending

フィルタリング

Range("A1:D500").AutoFilter
 Field:=2, _  'フィルタリング対象列番号
 Criteria1:=Array("1","2","3"), _  'Variant型の配列(↓参照)
 Operator:=xlFilterValues
※Dim Test(2) As Integer
Test(0) = 1 : Test(1) = 2 : Test(2) = 3
の時、Array("1","2","3") = Test

重複削除

ActiveSheet.Range("A1:D500").RemoveDuplicates Columns:=1, Header:=xlNo

オートシェイプ

絶対位置を取得。オートシェイプを配置する。
SX = Obj.Cells(2, 2).Left
SY = Obj.Cells(2, 2).Top + Obj.Cells(2, 2).Height / 2
EX = Obj.Cells(2, 5).Left
EY = Obj.Cells(2, 5).Top + Cells(2, 5).Height / 1
Set MyLine = Obj.Shapes.AddLine(SX, SY, EX, EY) '描画

点線の矢印
Obj.Shapes.Range(MyLine.Name).Line.EndArrowheadStyle = msoArrowheadTriangle '矢印に
Obj.Shapes.Range(MyLine.Name).Line.Weight = 0.75 '細さ
Obj.Shapes.Range(MyLine.Name).Line.DashStyle = msoLineDash '点線に

セル

線引き

With Cells(1,1)
 .Borders(xlEdgeTop).LineStyle = xlLineStyleNone '線を消す
 .Borders(xlEdgeTop).LineStyle = xlContinuous '上部に線を引く
 .Borders(xlEdgeBottom).LineStyle = xlContinuous '下部に線を引く
 .Borders(xlEdgeLeft).LineStyle = xlContinuous '左部に線を引く
 .Borders(xlEdgeRight).LineStyle = xlContinuous '右部に線を引く
 .Borders.LineStyle = xlContinuous '格子状に線を引く
 (例) Range(Cells(2,2),Cells(4,4)).Borders.LineStyle = xlContinuous

 .Borders.Weight = xlMedium '周りの線を太線に
 .Borders.Weight = xlThick '周りの線を極太線に

 線引きと色付けをまとめて
 Call .Range("A5").BorderAround(
 LineStyle:=xlContinuous, _
 Weight:=xlThick, _
 Color:=vbRed)
End With

結合

セルを結合する
Cells(1,1).Range(Cells(2,2),Cells(7,2)).Merge
結合しているか否か?
ReturnValue = Cells(1,1).Cells(2,2).MergeCells
ReturnValue = True
選択状態のセルの情報を取得
ReturnValue = Sellection.Row
ReturnValue = 2
(結合されている場合最上位行)
↑の法則を利用して結合セルの内容を取得
ReturnValue = Cells(Sellection.Row,2)
ReturnValue = "Header"

セル操作

選択状態に
Cells(3,2).Select

表の端のセルを参照
ReturnValue = Cells(2, 2).End(xlDown).Row
ReturnValue = 7
xlUp / xlDown / xlToLeft / xlToRight

指定のセルの相対位置のセルを参照
ReturnValue = Cells(2, 2).OffSet(5,0)
ReturnValue = Range("A5").OffSet(5,5)
ReturnValue = 7

Excelの関数を使用
Application.WorksheetFunction.~
Application.WorksheetFunction.SUM()
Application.WorksheetFunction.COUNT

通常方式のセル位置の文字列を取得

ReturnValue = .Cells(2, 2).Address
≠R1C1参照形式
ReturnValue = "$B$2"

書式

With Cells(1,1)
 .NumberFormatLocal = "[h]:mm" 時間設定(9:00)
 .NumberFormatLocal = "hh:mm" '09:00
 .NumberFormatLocal = "@" '文字列

 .VerticalAlignment = xlVAlignCenter 'センター表示
 .HorizontalAlignment = xlHAlignCenter 'センター表示
 .WrapText = True '折り返して全体を表示する
 .Orientation = 0 '方向の角度
 .AddIndent = True '前後にスペースを入れる
 .IndentLevel = 0 'インデントの数値
 .ShrinkToFit = True '縮小して全体を表示する
 .ReadingOrder = xlContext '文字の方向

 .Cells(1,1).Interior.Color = VbRed 背景色

 .Cells(1,1)Font.Size = 5 '文字サイズ
 .Cells(1,1)Font.Bold = True '太字
 .Cells(1,1)Font.Color = VbRed '文字色
End With

便利メモ

Chrome

ダウンロード画面表示

「Ctrl」+「j」

ブックマックバー表示/非表示

「Ctrl」+「Shift」+「b」

開発者ツール表示/非表示

「F12」

タブ操作

進む:「Ctrl」+「TAB」
戻る:「Ctrl」+「SHIFT」+「TAB」
作成:「Ctrl」+「t」
削除:「Ctrl」+「w」

カーソルをアドレスバーへ異動

「Ctrl」+「l」

IE

デバッグ

デバッグ共通」参照

Windows

「送る」メニューの登録

「ファイル名を指定して実行」にて、
shell:sendto
を入力・実行。
表示されるフォルダにアプリケーションのショートカットを保存する。

ファイルエクスプローラー便利設定

「自動的に現在のフォルダまで展開する」

fileexplorer1

ホームグループアイコンの削除

「F5」
※ホームグループ
ホームグループに登録されている外部機器や端末内ファイルにアクセス可能とする共有機能

Windows キーボード・ショートカット

コンピューターをロック

「Windows」+「L」

ファイル名を指定して実行

「Ctrl」+「R」

「ファイル名を指定して実行」から起動するアプリケーション

アプリ コマンド
メモ帳 notepad
エクセル excel
電卓 calc
コマンドプロンプト cmd
イベントビューワー eventvwr
コントロールパネル control
デバイスマネージャ devmgmt.msc
日付と時刻のプロパティ timedate.cpl
プログラムの追加と削除 appwiz.cpl
レジストリ エディタ regedit
管理ツール control admintools
サービス services.msc
リモートデスクトップ mstsc
リモートデスクトップ(管理者権限) mstsc /admin

SQLServerManagementStudio

フィールド選択画面表示/非表示

「Ctrl」+「1」

クエリー入力画面表示/非表示

「Ctrl」+「3」

クエリー実行

「Ctrl」+「R」/ 「ALT」+「X」

Linux

ターミナル起動

「Ctrl」+「T」

VirtualBox

メニューバー表示

「Ctrl(右側)」+「C」

VisualStudio

デバッグ

「表示」> 「ツールバー」 > 「デバッグ」
※デバッグ開始/停止、ステップイン/オーバー/アウト
デバッグ共通」参照

アクティブな項目をソリューションエクスプローラーで選択された状態にする

「ツール」 > 「プロジェクトおよびソリューション」 > 「アクティブな項目をソリューションエクスプローラーで選択された状態にする」
※選択しているソース(アクティブな項目)がソリューションエクスプローラーで展開される

ビルド開始時に出力ウィンドウを表示

「ツール」 > 「プロジェクトおよびソリューション」 > 「ビルド開始時に出力ウィンドウを表示」
「デバッグ」 > 「ウィンドウ」 > 「出力」
「Ctrl」+「Alt」+「O」

イミディウェイトウィンドウ

「デバッグ」 > 「ウィンドウ」 > 「イミディエイト」
「Ctrl」+「Alt」+「I」

テキストエディター

「表示」> 「ツールバー」 > 「テキストエディター」
※選択行のコメントアウト/解除、ブックマークの追加/削除

VB6

デバッグ

デバッグ共通」参照

中断

「Ctrl」+「Break」

クイックウォッチ

「Shift」+「F9」

イミディウェイトウィンドウ

「Gtrl」+「G」

ACCESS

フォームビュー/デザインビュー切替

CTRL + 「,」

デバッグモードで実行

SHIFT + ENTER

ナビゲーションウィンドウ表示

テーブル・フォーム一覧
F11

LibbleOffice

タブ内改行

セル入力中に、「Ctrl」+「ENTER」

デバッグ共通

ステップ
イン
ステップ
オーバー
ステップ
アウト
(ステップ
リターン)
定義 戻る カーソル行の
前まで実行
実行 デバッグ実行
Eclipse F5 F6 F7 F3 ALT + ← SHIFT + ALT + X , J SHIFT + ALT + D , J
Visual
Studio
F11 F10 Shift + F11 F12 Ctrl + 「-」 Ctrl + F10 F5 F5
VB6 F8 Shift + F8 Ctrl + Shift + F8 Shift + F2 Ctrl + Shift + F2 Ctrl + F8 F5 Ctrl + F5
IE
起動:F12
F11 F10 Shift + F11 F5