エクセル 数字で均等割付ができないときの対処法 [仕事便利帳]
エクセルのセルの中で均等割付で表示しようとしても、
ただの中央揃えになってしまうときがある。
そんなときは、
[セルの書式設定]→[表示形式]
↓
[分類]欄で「ユーザー定義」を選択
↓
[種類]欄に「[DBNum3]0」と入力
その後に
[セルの書式設定]→[配置]タブをクリック
↓
[文字の配置]−[横位置]欄で「均等割り付け」を選択
にすると、均等割付になるそうな。
仕事でマイナンバーを入力する欄でこれを使ったので、
12桁に対応するためには
[DBNum3]000000000000
とすると文字列設定でない状態で入力しているマイナンバー(見かけは12桁でも実際はただの数値)でも
見かけ上、12桁であらわせる。
ただの中央揃えになってしまうときがある。
そんなときは、
[セルの書式設定]→[表示形式]
↓
[分類]欄で「ユーザー定義」を選択
↓
[種類]欄に「[DBNum3]0」と入力
その後に
[セルの書式設定]→[配置]タブをクリック
↓
[文字の配置]−[横位置]欄で「均等割り付け」を選択
にすると、均等割付になるそうな。
仕事でマイナンバーを入力する欄でこれを使ったので、
12桁に対応するためには
[DBNum3]000000000000
とすると文字列設定でない状態で入力しているマイナンバー(見かけは12桁でも実際はただの数値)でも
見かけ上、12桁であらわせる。
エクセル 年齢を計算する関数 [仕事便利帳]
今まで、エクセルで年齢を計算するときは、
today()と生年月日を引いて、そのあと微調整をして出すようにしていた。
しかし、世の中には便利な関数があることを今日知った。
それは、datedif関数!!
=DATEDIF(生年月日、TODAY()、”Y”)
で年齢が出せる。
もちろん、生年月日はセルをA1とかに入力してそれを参照することも可能。
TODAY()も別のセルに基準日を設けているなら、そちらを参照することも可能。
最後の”Y”は満何年を表す。ちなみに”M”と入力したら今までの月数がでた。
大文字小文字は気にしなくて良いみたい。
この関数は裏関数なのかな。
ダイアログの関数一覧には載っていない。
自分で入力しなくてはいけないというのは、ちょっと不思議な関数。
でも、あんまり使うことないから忘れそう・・・。
today()と生年月日を引いて、そのあと微調整をして出すようにしていた。
しかし、世の中には便利な関数があることを今日知った。
それは、datedif関数!!
=DATEDIF(生年月日、TODAY()、”Y”)
で年齢が出せる。
もちろん、生年月日はセルをA1とかに入力してそれを参照することも可能。
TODAY()も別のセルに基準日を設けているなら、そちらを参照することも可能。
最後の”Y”は満何年を表す。ちなみに”M”と入力したら今までの月数がでた。
大文字小文字は気にしなくて良いみたい。
この関数は裏関数なのかな。
ダイアログの関数一覧には載っていない。
自分で入力しなくてはいけないというのは、ちょっと不思議な関数。
でも、あんまり使うことないから忘れそう・・・。
エクセル 表の中の選択したセルを含む行(横1行)に色をつける これで迷子にならなくてすむ! [仕事便利帳]
今アンケート集計をしている。
乱視で横の動きを見るのが苦手なので、設問が多くなると横に目で追っていくのが大変。
それでも数字だけならなんとかついて行けるが、文字ばっかりになるとさあ大変!!
セルを横に目で追うのも大変なのに、1つのセルに文字列が複数行あると、目線の迷子。
あたしはどこ!?ってなってしまう(泣)
そこで、表の中の見たい行のどこかのセルを選択すると、色が変わるようなことはできないのだろうかと。
ネットで検索すると、同じようなことを考えている人ってやっぱりいるんだね♪
しっかりやり方がかいてありました。
実際にやってみたところ、なかなか良い感じに反応してくれるので満足満足。
参考にしたサイトはココ↓
http://hamachan.info/win7/Excel/active.html
このブログには要点だけ書いておこうっと。
まず、条件付書式で表全体に仕掛けを作る。
[次の数式を満たす場合に値を書式設定]を選んで
数式に[=CELL("ROW")=ROW()]を入力。
実はこれだけでも選んだセルの行の色が変わるのだが、一旦画面を更新しないと反応しない。
たとえば、とあるセルを選んだだけでは何もなく、一旦画面をスクロールして、そのセルをフレームアウト(?)する。そしてまたスクロールして選んだセルを表示させると、色が変わっているという具合。
そこで登場するのが、マクロだ!
「thisworkbook」に
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = true
End Sub
を書き込むと、それを自動でやってくれるという寸法。
この設定はすごく目に優しい。作業がはかどることまちがいなし!!
乱視で横の動きを見るのが苦手なので、設問が多くなると横に目で追っていくのが大変。
それでも数字だけならなんとかついて行けるが、文字ばっかりになるとさあ大変!!
セルを横に目で追うのも大変なのに、1つのセルに文字列が複数行あると、目線の迷子。
あたしはどこ!?ってなってしまう(泣)
そこで、表の中の見たい行のどこかのセルを選択すると、色が変わるようなことはできないのだろうかと。
ネットで検索すると、同じようなことを考えている人ってやっぱりいるんだね♪
しっかりやり方がかいてありました。
実際にやってみたところ、なかなか良い感じに反応してくれるので満足満足。
参考にしたサイトはココ↓
http://hamachan.info/win7/Excel/active.html
このブログには要点だけ書いておこうっと。
まず、条件付書式で表全体に仕掛けを作る。
[次の数式を満たす場合に値を書式設定]を選んで
数式に[=CELL("ROW")=ROW()]を入力。
実はこれだけでも選んだセルの行の色が変わるのだが、一旦画面を更新しないと反応しない。
たとえば、とあるセルを選んだだけでは何もなく、一旦画面をスクロールして、そのセルをフレームアウト(?)する。そしてまたスクロールして選んだセルを表示させると、色が変わっているという具合。
そこで登場するのが、マクロだ!
「thisworkbook」に
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = true
End Sub
を書き込むと、それを自動でやってくれるという寸法。
この設定はすごく目に優しい。作業がはかどることまちがいなし!!
アクティブウィンドウのコピーとアクティブセル領域選択 [仕事便利帳]
プリントスクリーンはキーボードに表示があるから、すぐわかる。
でも、アクティブウィンドウのコピーは組み合わせでできるとは知ってるけど、何と何を組み合わせるのかはいつも実験ばかりしていた。
まどろっこしぃったらありゃしない。
というわけで、ここにログしておけばいいじゃーんと・・・。
アクティブウィンドウのコピーは
「Fn」+「Alt」+「PrtScr]です!!
あ、でも今使ってるNECのノートパソコンVERSAPROは「PrtScr]は「Insert」キーのとこにあるんだよね。
あと、アクティブセル領域(要は表全体)を選択するショートカットも書いておこう。
「Ctrl]+「*」
ただい、この「*」はテンキー限定。キーボードの「*」を押したら、時刻が入力されてました。
あんまり使わないショートカットキーだから、忘れてたよ・・・。
でも、アクティブウィンドウのコピーは組み合わせでできるとは知ってるけど、何と何を組み合わせるのかはいつも実験ばかりしていた。
まどろっこしぃったらありゃしない。
というわけで、ここにログしておけばいいじゃーんと・・・。
アクティブウィンドウのコピーは
「Fn」+「Alt」+「PrtScr]です!!
あ、でも今使ってるNECのノートパソコンVERSAPROは「PrtScr]は「Insert」キーのとこにあるんだよね。
あと、アクティブセル領域(要は表全体)を選択するショートカットも書いておこう。
「Ctrl]+「*」
ただい、この「*」はテンキー限定。キーボードの「*」を押したら、時刻が入力されてました。
あんまり使わないショートカットキーだから、忘れてたよ・・・。
エクセル リスト(入力規則) 上から表示させる [仕事便利帳]
エクセルでセルにドロップダウンリストを設定した。
別シートにマスタをつくり、それに名前を付けて引っ張れるようにした。
データ→データの入力規則→設定(タブ)
条件の設定
入力値の種類(A)
リスト
元の値(S)
=名前(定義したリストの名前を入力)
これで設定したところ、リストの表示が下から表示になってしまった。
要は一番下から表示されて、上へスクロールして探していく感じ。
上の方がよく使う選択肢なので、上から表示させたい!!
ネットで調べていたら、リストの範囲の中に空白があるのがいけないらしい。
エクセルは最初の選択がその空白をチョイスしちゃうそうな。
その解決方法は
空白セルをなくすこと!!
たとえば---------を入れておくとかね。
ぶっちゃけた話、空白セルをそもそもつくらなきゃいいんだけど、
あとから選択肢の追加になると名前の定義の変更がめんどいので、
予備セルを設けていた。
ようはそれが問題だったと。。。
これからは--------を入れて対応しよう。
別シートにマスタをつくり、それに名前を付けて引っ張れるようにした。
データ→データの入力規則→設定(タブ)
条件の設定
入力値の種類(A)
リスト
元の値(S)
=名前(定義したリストの名前を入力)
これで設定したところ、リストの表示が下から表示になってしまった。
要は一番下から表示されて、上へスクロールして探していく感じ。
上の方がよく使う選択肢なので、上から表示させたい!!
ネットで調べていたら、リストの範囲の中に空白があるのがいけないらしい。
エクセルは最初の選択がその空白をチョイスしちゃうそうな。
その解決方法は
空白セルをなくすこと!!
たとえば---------を入れておくとかね。
ぶっちゃけた話、空白セルをそもそもつくらなきゃいいんだけど、
あとから選択肢の追加になると名前の定義の変更がめんどいので、
予備セルを設けていた。
ようはそれが問題だったと。。。
これからは--------を入れて対応しよう。
時間入力の簡素化 [仕事便利帳]
15:00とか21:35と入力したいときに、いちいちテンキーから「:」に手を写すのがめんどくさい。
以前はピリオドを2つうつと自動でコロンに変わるとか設定していたけど、それもめんどくさくなった。
なので数字の入力欄を作って、そこを参照して本来時間を入力するところはコロンありの時間になるようなものを関数で作った。
その関数が下
=IF(R13="","",REPLACE(R13,LEN(R13)-3+2,0,":"))
セルR13が入力欄
R13には1500とか2135とか900とかを入力
そしてこの関数を入れたセルには15:00とか21:35とか9:00とか表示される。
Rに入力した数字の右から3番目に:を挿入するというイメージかしら。
Rに入力がなければ空白にしたかったから、ifで場合分けをしているからちょっと長ったらしい関数になったね。
提出用じゃなければ
=REPLACE(R13,LEN(R13)-3+2,0,":")
でいいのかな。
以前はピリオドを2つうつと自動でコロンに変わるとか設定していたけど、それもめんどくさくなった。
なので数字の入力欄を作って、そこを参照して本来時間を入力するところはコロンありの時間になるようなものを関数で作った。
その関数が下
=IF(R13="","",REPLACE(R13,LEN(R13)-3+2,0,":"))
セルR13が入力欄
R13には1500とか2135とか900とかを入力
そしてこの関数を入れたセルには15:00とか21:35とか9:00とか表示される。
Rに入力した数字の右から3番目に:を挿入するというイメージかしら。
Rに入力がなければ空白にしたかったから、ifで場合分けをしているからちょっと長ったらしい関数になったね。
提出用じゃなければ
=REPLACE(R13,LEN(R13)-3+2,0,":")
でいいのかな。
エクセル マクロ セルの値でオートフィルター抽出とフィルター解除 [仕事便利帳]
仕事でちょくちょくエクセルマクロを使うので、
後で探すのに困らないようメモっておきます。
<セルA2に入力した値でオートフィルターで抽出するマクロ>
Sub オートフィルタでセルの値で抽出()
With ActiveSheet
.AutoFilterMode = False
.Range("5:5").AutoFilter field:=1, Criteria1:=.Range("A2").Value
End With
End Sub
<オートフィルターを解除するマクロ>
Sub オートフィルタ解除()
解除ボタンを単独で作るので、エラー防止のため一旦オートフィルターがついてないか判断して、ついてなかったつけて、それから解除をするという遠回りなマクロ。
With ActiveSheet
If Not .AutoFilterMode Then
.Range("5:5").AutoFilter
End If
End With
ActiveSheet.AutoFilterMode = False
End Sub
もっと賢い方法があるのだろうけど、探す時間がなかったので力業で解決。
今度時間あるときに改善しなくては。
セル入力での抽出が意外に面倒なのでやっぱりinputboxでしようと思って作成したマクロ
<インプットボックスの値でオートフィルター抽出>
Sub オートフィルタ検索()
Dim 番号 As Integer
番号 = InputBox("番号を入力してください")
With ActiveSheet
.AutoFilterMode = False
.Range("5:5").AutoFilter field:=1, Criteria1:=番号
End With
End Sub
後で探すのに困らないようメモっておきます。
<セルA2に入力した値でオートフィルターで抽出するマクロ>
Sub オートフィルタでセルの値で抽出()
With ActiveSheet
.AutoFilterMode = False
.Range("5:5").AutoFilter field:=1, Criteria1:=.Range("A2").Value
End With
End Sub
<オートフィルターを解除するマクロ>
Sub オートフィルタ解除()
解除ボタンを単独で作るので、エラー防止のため一旦オートフィルターがついてないか判断して、ついてなかったつけて、それから解除をするという遠回りなマクロ。
With ActiveSheet
If Not .AutoFilterMode Then
.Range("5:5").AutoFilter
End If
End With
ActiveSheet.AutoFilterMode = False
End Sub
もっと賢い方法があるのだろうけど、探す時間がなかったので力業で解決。
今度時間あるときに改善しなくては。
セル入力での抽出が意外に面倒なのでやっぱりinputboxでしようと思って作成したマクロ
<インプットボックスの値でオートフィルター抽出>
Sub オートフィルタ検索()
Dim 番号 As Integer
番号 = InputBox("番号を入力してください")
With ActiveSheet
.AutoFilterMode = False
.Range("5:5").AutoFilter field:=1, Criteria1:=番号
End With
End Sub