2/27/2017

Excel。Format。条件付き書式で文字を含む場合行単位で塗りつぶしを設定するには?

Excel。条件付き書式で文字を含む場合行単位で塗りつぶしを設定するには?

<条件付き書式・FIND関数>

次のような表があります。

大田区に住んでいる人の行全体を分かりやすくするために、
塗りつぶしをしたい場合は、条件付き書式を使うと便利ですぐに、
問題解決できるように思えるのですが、そう簡単というわけでも実はないのです。

まず、A3:C9を選択して、条件付き書式から、

セルの強調表示ルールの文字列を選択しましょう。

文字列ダイアログボックスが表示されてきますので、
ボックスに大田区と入力して書式を設定したら、OKボタンをクリックしましょう。

大田区のデータが、
条件付き書式によってわかりやすくなったのはいいのですが、
今回の目標は、データの行単位ということで、一行を塗りつぶしたいわけです。

残念ながら、この文字列では、
セルを塗りつぶすことは出来るのですが、
該当するそのレコードを塗りつぶすことが出来ないのです。

では、条件付き書式が無い状態に戻して、考えてみましょう。

まず、行単位で塗りつぶすためには、
セル参照させる必要がありますので、
数式を使った条件付き書式になるということ、

そして、セル内に該当する文字、
今回は、大田区 という文字があるのか?ないのか?見つけるための関数。

FIND関数を使った数式を作る必要があるということになるわけです。

条件付き書式で数式を使う場合、
関数挿入ダイアログボックスが使えませんので、
数式を直接入力する必要がありますが、
慣れていない方は、ちょっと大変なので、

まずは、数式を別のセルで作成して、
その数式をコピーする方が効率的だと思います。

では、D3にFIND関数の数式を作っていくことにしましょう。

D3をクリックして、FIND関数ダイアログボックスを表示しましょう。

検索文字列には、”大田区”
対処には、$C3

複合参照にしている理由は、条件付き書式で行単位で塗りつぶす為ですね。

列を固定するのがポイントでしたね。

それではOKボタンをクリックして数式をオートフィルでコピーしましょう。

すると大田区という文字がある場合には、
セル内の何文字目にあるのかという数値を算出してくれます。

ないものは、#VALUE!が表示されています。

ちなみに、D3の数式は、

=FIND("大田区",$C3)

この数式をコピーしておいて、条件付き書式を設定していきましょう。

A3:C9を範囲選択して、条件付き書式の新しいルールをクリックします。

新しい書式ルールダイアログボックスが表示されますので、
「数式を使用して、書式設定するセルを決定」を選択して、
ボックスに数式を貼りつけましょう。

そのあとに、塗りつぶしの書式を設定したら、OKボタンをクリックしてみましょう。

これで、行単位での塗りつぶしを設定することが出来ましたね。

このように、FIND関数と条件付き書式を合わせることで、
このようなこともできますよ。

2/26/2017

今週のFacebookページの投稿 2017/02/20-2017/02/26

今週のFacebookページの投稿 2017/02/20-2017/02/26

<Facebookページ>

Facebookページで【書いてみた】ワンポイントです。

2月20日
Word。
図形などで、Ctrl+Shift+ドラッグで
その図形などを水平・垂直方向にコピーすることができますね。

2月21日
Word。
この字、なんて入力したいいか知っていますか?【々】。
これ、おなじ で変換できます。
これで今日から佐々木さんや代々木にお世話にならないで済みますね。

2月22日
Wordのスキルの中でも、
差し込み印刷は便利なので知っておきたいスキルの一つですよね。

2月23日
Word2010&2013。差し込み文書タブのはがき印刷にある、
宛名面の作成を実行して、
通常のハガキを選択すると、
切手のところにカイル君がいます。なつかしいなぁ~

2月24日
Wordにも、マクロってあるの知っていました?結構便利なんですよ。

2月25日
Word2013。
前に編集したファイルを開くと、
スクロールバーの近くに「再開ボタン」があります。
これを押すと、前回編集していたところにジャンプしますので、便利ですね。

2月26日
Word。あいうえお と入力すると、
お の下に赤い波線が表示されますが、
これは、を じゃないのとWordが判断しているだけなので、
無視してOKですね。

Excelテクニック and  MS-Office recommended by PC training
https://www.facebook.com/exceltechniqueandmsoffice/

Excelのショートカット一覧はこちらで書いております。
http://yandss.p2.weblife.me/shortcutkey.html

2/24/2017

Excel。SORT。並び替えを行方向ではなくて、列方向で実施したいけど出来るの?

Excel。並び替えを行方向ではなくて、列方向で実施したいけど出来るの?

<列の並び替え>


次のような表があります。

Excelの表というかデータベースという考え方からすると、
多くは、縦方向のデータや表になっているので、
並び替えを行うとしても、
通常の並び替えを行えば簡単に並び替えできるのですが、

今回のリクエストは、
列方向での並び替えを行いたいのですが、どうしたらいいのでしょうか?
というもの。

念のために確認ですが、
例えば、G列の合計値を降順で並び替えを行いたいとします。

ただ、気を付けなければいけないのが、
9行目に合計行があり、それを含めてしまうと、
並び替えが上手くいきませんので、
今回は、A4:G8を範囲選択してから、並び替えを実施していきましょう。

データタブにある、並び替えをクリックします。

並び替えダイアログボックスが表示されますので、
優先されるキーに合計
並び替えのキーは、値 のまま
順序は、降順。つまり金額の高い順ですね。

あとは、OKボタンをクリックしましょう。

おなじみの処理ですので、範囲選択だけ注意すれば、
簡単に並び替えを行うことが出来ましたね。

さて、いよいよここからが本題。

今は、行方向で並び替えを行いましたが、
列方向で並び替えを行いたいとしたらどうしたらいいのでしょうか?

列方向では並び替えが出来ない?

と思っている方も多いのかもしれませんが、
そんな難しいことをしなくて、列方向で並び替えを行うことが出来るのです。

先ほどの表を元に戻しておきます。

では、今回は、9行目の合計値の昇順で並び替えを行っていきます。

B4:F9
を範囲選択することになります。

G列をいれてしまうと、
先ほどの行方向と同じで、並び替えが上手くいきません。

そして、データタブにある、
並び替えをクリックして、並び替えダイアログボックスを表示しましょう。

オプションボタンをクリックすると、
並び替えオプションダイアログボックスが表示されてきますので、
方向を列単位に変更してOKボタンをクリックします。

優先されるキーの▼をクリックすると、
なんと候補が「行」と変わっていますね。

今回は、9行目の合計で並び替えを行いたいので、行9を選択します。

並び替えのキーは、値のまま
順序も今回は、昇順のまま

あとは、OKボタンをクリックしましょう。

このように、行方向での並び替えではなくて、
希望通りの列方向での並び替えをすることが出来ましたね。

ポイントは、並び替えダイアログボックスのオプションから、
列単位を選ぶということでした。

現場の資料の状況に合わせて使ってみてはいかがでしょうか?

2/21/2017

Excel。TIME。退勤-出勤で勤務時間を算出。翌日の深夜退勤でも簡単に算出する方法はないの?

Excel。退勤-出勤で勤務時間を算出。翌日の深夜退勤でも簡単に算出する方法はないの?

<SUM関数・四則演算>


次のような表があります。

よくあるタイムカード計算の表でして、
D列に「退勤-出勤」を算出する式を作りたいわけですね。

当たり前ですが、退勤から出勤を減算すれば算出されますよね。
D3の数式には、

=C3-B3

では、オートフィルで数式をD6までコピーしてみましょう。

D4が##########となっていますね。
算出出来ていませんね。

つまり、夜勤がある会社の場合、退勤時間が、
日をまたいで、翌日に退勤となるわけです。

当然Excelは、翌日の6:00なんて認識はしてくれませんので、
6:00-22:00を減算したわけです。

表示形式が時間の場合に、
結果が基本的にマイナスだと#########と表示されてしまうのです。

では、いちいち、日付を比べてとか方法はあるのでしょうけれども、
簡単に計算する方法はないのかな?というのが、今回のご質問だったのです。

まずは、考え方として、翌日の6:00と認識してくれればいいわけですよね。

1日が24時間ですので、
24:00+6:00-22:00という計算式が作れれば良いということになりますよね。

しかし、なんでも24を加算するわけにはいきませんし、
個別で数式を修正していたら効率が悪いですし、
ミスを発生しやすくなってしますので、お勧めできません。

そこで、次のように数式を修正してみましょう。
D3の数式を、

=(C3<B3)+C3-B3

として、オートフィルを使って数式をコピーしてみましょう。

なんと、今度は、D4がきちんと算出されていますよね。

なぜ、

=(C3<B3)+C3-B3

という数式にしたら、算出できたのでしょうか?

やっていること自体は簡単なのですが、
少しExcelのルールを知っている必要があります。
そのルールとは、「TRUEが1でFALSEが0」ということ。

まぁ、余談ですがあとは、1日は24時間ということ。
まぁ、こちらは当たり前ですね。

数式の説明です。

最初の(C3<B3)
これが何をしているのか?これがわかれば、あとは楽勝です。

C3は17:00、B3は9:00で、これを比較します。

当然、B3のほうが小さいのでこの(C3<B3)という条件は満たしていませんので、
結果はFALSEとなります。

先ほど書きましたが、FALSEはExcelだと「0」ということでしたので、
0+17:00-9:00=8:00
という結果が算出されたわけです。

では、#########と表示されていた、
D4は、なぜこの数式で算出できたのか?

C4<B4を確認すると、C4が6:00でB4が22:00なので、
この条件は満たされますので、TRUE。すなわち1。

1+6:00-22:00

1日は24時間ですから、
24:00+6:00-22:00=8:00

ということで、この数式で夜勤にも対応することができました。

ポイントは
C3<B3
という条件を使って、数値の1をもってくるというところですね。

1と0を持ってきたい場合には、
TRUEとFALSEというアイディアを知っておくと
色々便利になるかもしれませんね。

2/20/2017

今週のFacebookページの投稿 2017/02/13-2017/02/19

今週のFacebookページの投稿 2017/02/13-2017/02/19

<Facebookページ>

Facebookページで【書いてみた】ワンポイントです。

2月13日
Wordの表の行の高さを微調整したいときには、
Altキーとドラッグ操作でできますね。

2月14日
Wordの表の列の幅を微調整したいときには、
Altキーとドラッグ操作でできますね。

2月15日
Wordで写真とか図を挿入すると、
文字列の折り返しが行内になっていますので、
うまく動かすことができませんね。前面とか四角とかにしましょう。

2月16日
Wordで写真とか図を挿入して、文字がたくさんのところで、
文字列の折り返しを背面にすると、
触ることができなくなったときは、オブジェクトの選択を使いましょう。

2月17日
Word2010。
オブジェクトの選択は、ホームタブの編集のところにあります。
画面の大きさによっては、選択の中に入っております。

2月18日
Word。図形を描く時に、
Shiftキー+ドラッグで、正方形とか正円が描けますね。

2月19日
Word。図形などで、
Ctrl+ドラッグでその図形などをコピーすることができますね。

Excelテクニック and  MS-Office recommended by PC training
https://www.facebook.com/exceltechniqueandmsoffice/

Excelのショートカット一覧はこちらで書いております。
http://yandss.p2.weblife.me/shortcutkey.html

2/18/2017

Access。単価×数量の結果に【桁区切りのカンマ】を設定したいけどどうしたらいいの?

Access。単価×数量の結果に【桁区切りのカンマ】を設定したいけどどうしたらいいの?

<Accessクエリ 桁区切りのカンマ>


Accessのクエリで演算フィールドを作った後に、
【桁区切り】のカンマがついているほうが、
読みやすいので、設定したいのですが、どうやったらいいのか?

ということで、ご紹介していきましょう。

次のようなクエリがあります。

金額という演算フィールドを作ってあります。

金額: [単価]*[数量]

よく、これを一から入力する方もいますが、
:「半角のコロン」は、見づらくて入力してあるのか?
間違えて;「半角のセミコロン」を入力してしまっていないのか?
確認するもの大変ですし、[ ]のカッコも同じですね。

全角だとAccessはExcelと異なり、リアクションしてくれません。

半角と全角の入力ミスに気をつけたいところですね。

そこで、作成手順として、単価*数量と入力すると、
式1: [単価]*[数量]と入力してくれますので、
あとは、式1というフィールド名を変更してあげるほうがいいのかもしれませんね。

さて、クエリの表示を変更して確認して見ましょう。

金額フィールドですが、桁区切りカンマが無いので、
設定したいというのが今回の目的です。

残念ながら、Accessには、
Excelのような【区切りスタイル】のボタンなんてものはありません。

どのように設定すればいいのか?ということになるわけですが、

Accessの場合、何かプラスのことを設定したい場合には、
まずは、プロパティを見るといいですね。

ですので、クエリをデザインビューで表示して、
金額: [単価]*[数量]のフィールドを選択して、
プロパティシートをクリックしてプロパティを変更していきます。

標準タブの書式を設定していきます。

標準を選択してみましょう。

そして、表示を変えてどのようになっているのかを確認してみましょう。

金額フィールドは、【桁区切りのカンマ】は設定されたのですが、
小数点第2位まで表示されてしまっております。

今回は金額ということで、小数点以下は表示したくは無いわけです。

では、今度は、小数点以下を表示させなくさせましょう。

表示をデザインビューに戻して、プロパティシートを表示します。

プロパティシートの小数点以下表示桁数を0(ゼロ)を設定して、
表示を変更してみましょう。

これで、【桁区切りカンマ】を設定することが出来ましたね。

Excelのようにボタン一発とはいきませんが、
プロパティシートの書式と小数点以下表示桁数を設定してあげれば、
【桁区切りカンマ】を設定することも出来ますよ。

2/15/2017

Excel。DATA。データがある時には罫線を無い時には、罫線なしにってことできませんか?

Excel。データがある時には罫線を無い時には、罫線なしにってことできませんか?

<条件付き書式>


2017年の祝祭日に対応したカレンダーの作り方をご紹介しました。

まあ、こういう感じのカレンダーでした。一部データは非表示にしております。
ちなみに、

A5の数式は、
=IF(EOMONTH(DATE($B$2,$C$2,1),0)<DATE($B$2,$C$2,ROW()-4),"",DATE($B$2,$C$2,ROW()-4))

B5の数式は、
=TEXT(A5,"aaa")

そこで、ご質問がありまして、
2月とか4月とかにすると、末日が28日・29日・30日と変わった際に、
罫線が残るので、それをその都度に効率よく消すことはできませんか?
というもの。

C2を2月に変えてみると、こんな感じ。

罫線が残っている訳ですね。

せっかく末日に対応させたので、できれば罫線も消したいというわけです。

確かに、その都度、罫線を消したり描いたりするのは、面倒ですね。

そこで、登場するのが、

【条件付き書式】

ということになります。


条件付き書式は、
フォントの色を変えたり、セルを塗りつぶしたりするだけではなくて、
罫線も書式なので、罫線を描くことも出来るのです。

では、どのようにしたらいいのでしょうか?

今回は、A列にデータがあったら、罫線を描く。

データが無ければ罫線は描かないということを
条件付き書式に設定してあげればいいわけです。

では、一度、罫線を削除して、
1月に変えておいて、A4:C35まで範囲選択したら、
ホームタブの条件付き書式にある、【新しいルール】をクリックしましょう。


新しい書式ルールダイアログボックスが表示されました。

ルールの種類を選択してくださいにある、
【数式を使用して、書式設定するセルを決定】を選び、
次の数式を満たす場合に値を書式設定のボックスに、次の数式を入力します。

=$A4<>""

これは、A4が空白で無かったらという意味になります。

$A4という複合参照にしているのは、その行に対して設定するためですね。

<>はイコールの逆で、何々で無い という意味ですね。

あとは、書式ボタンをクリックして、罫線を設定していきましょう。

新しい書式ルールダイアログボックスに戻りましたら、
改めて、OKボタンをクリックして完成ですね。

見た目、先ほどの罫線と変わっていないように見えますので、
確認しておきましょう。

C2を2月に変更してみると、

2017/2/28までの表示になって、
罫線も引かれていないのが確認できますね。

A35をクリックすると、
きちんと数式は残ったままになっているのが確認できますね。

このように、
表のサイズが変わる場合で罫線もデータに合わせて描きたい場合には、
条件付き書式を使ってみるというのはどうでしょうか?

2/14/2017

今週のFacebookページの投稿 2017/02/06-2017/02/12

今週のFacebookページの投稿 2017/02/06-2017/02/12

<Facebookページ>

Facebookページで【書いてみた】ワンポイントです。

2月6日
Word。フォントダイアログボックスにある、
隠し文字は、印刷するときに印刷されませんね。

2月7日
Word。フォントダイアログボックスにある、傍点。
これ、ぼうてんってよみます。
文字の上に・・・が付けることができますね。

2月8日
Word。
線種とページ罫線と網掛けの設定ダイアログボックスは、よく使いますよね。

2月9日
Word2010。コピーしたり切り取ったあと、貼り付けますが、
貼り付けオプションがちょっとわかりにくいですよね。

2月10日
Word。貼り付けオプションの「元の書式を保持」は、
コピー元の書式を含めて、文字列がそのまま貼り付けることができますね。

2月11日
Word。貼り付けオプションの「書式を統合」は、
貼り付け先の書式と同じ書式になりますが…
太字・斜体そして斜線は残っちゃいます。

2月12日
Word。貼り付けオプションの「テキストのみを保持」は、
文字だけが貼り付けられるのですが、
貼り付け先の書式と一部おなじになりますね。

Excelテクニック and  MS-Office recommended by PC training
https://www.facebook.com/exceltechniqueandmsoffice/

Excelのショートカット一覧はこちらで書いております。
http://yandss.p2.weblife.me/shortcutkey.html

2/12/2017

Excel。CELL。アレレ!関数でセル参照に比較演算子を付けた条件で算出してくれない

Excel。アレレ!関数でセル参照に比較演算子を付けた条件で算出してくれない

<AVERAGE&COUNTIF関数>


まずは、次の表をご覧ください。

A列に営業日があって、B列はその金額。売上高ですね。
その平均が、E1に算出されている表です。

E1の数式は、

=AVERAGE(B2:B7)

単純な平均値を算出しているだけです。

そして、やりたいことは、E3にある、
金額が平均以上の日数が何日あるのか?というのを求めた表になっています。

別になんら問題はない表なのですが、
平均以上とか、以上・以下などを表現するのに、
比較演算子というのを使いますよね。

>=とか<=とか。

その比較演算子を使った条件を関数で使うと、
どうもうまく算出してくれないので困っているという声を耳にします。

実の所、悩んでしまう代表的なケースなのです。

では、一つずつ確認しておきましょう。

日数。
つまり個数を数えますので、今回登場するのは、COUNTIF関数ですね。

E3は、
COUNTIF関数の検索条件に直接E1で算出した数値を入力した場合を
確認してみましょう。

E3にCOUNTIF関数ダイアログボックスを表示しましょう

範囲には、B2:B7
検索条件には、>=324.5と入力して確定したら、">=324.5"

と入力されているのを確認したらOKボタンをクリックしましょう。

3件と算出されましたね。
これは、問題ないのですが、次はケースはどうでしょうか?

E4は、検索条件には、平均値が算出されているE1を使ってみます。

E4をクリックして、COUNTIF関数ダイアログボックスを表示します。

範囲には、B2:B7
検索条件には、>=E1と入力して確定したら、">=E1"

と入力されましたね。

これでOKボタンをクリックすると、残念ながら0になってしまします。

なぜこうなってしまったのかというと、

検索条件などを関数で使用する時に比較演算子を使うのですが、
セル番地や数式と合わせて使うときには、&で結合してあげる必要があるのです。

つまり">=E1"という文字列を検索してしまうのです。

だから検索対象が見つからないので、0と算出してしまったのです。

そこで、次のように修正してみましょう。

範囲には、B2:B7
検索条件には、">="&E1 と入力しましょう。
そして、OKボタンをクリックしてみると、今度は3と算出されてましたね。

E4の数式は、

=COUNTIF(B2:B7,">="&E1)


E5のケースは、セル参照だけではなくて、
数式でも同じように&で結合させないと文字として認識してしまい、
結果を求めることができません。念のために確認しておきます。

範囲には、B2:B7
検索条件には、">="&AVERAGE(B2:B7) と入力しましょう。

そして、OKボタンをクリックしてみると、今回も3と算出されましたね。

このように、セル番地や数式を比較演算子といっしょに検索条件で使う場合には、
比較演算子は””(ダブルコーテーション)で囲み、&で結合する
ということを覚えておくと、算出できるようになりますよ。

2/09/2017

Excel。アレレ?VLOOKUP関数の弱点!このような範囲では太刀打ちできない

Excel。アレレ?VLOOKUP関数の弱点!このような範囲では太刀打ちできない

<VLOOKUP&INDEX+MATCH関数>


まずは、次のような表があります。

6行目から従業員リストがあるとしまして、
B3に従業員コードを入力すると、C3に従業員名が表示されるという、
見た目、ベタベタなというか、VLOOKUP関数で、

”楽勝”と思えるような表なのですが、

実は、コレ。

VLOOKUP関数の弱点というか、
6行目からの従業員リストの作り方がなっていないというか、
これでは、VLOOKUP関数で算出することが出来ないのです。

百聞は一見に如かず。

VLOOKUP関数で算出してみましょう。

まずは、B3に従業員コードSM001というダミーデータを入力して、
C3をクリックしてVLOOKUP関数ダイアログボックスを表示します。

検索値には、B3
範囲には、A7:D11
列番号は、従業員名は、範囲の左から2列目にありますので、2
検索方法は、完全一致なので、FALSE。または、0ですね。

では、OKボタンをクリックしてみましょう。
すると、結果は…#N/A

なんで!とお思いでしょうけど、このように算出できないのです。

原因は、従業員リストにあります。

VLOOKUP関数で抽出するには、
抽出する値が検索値より【右側】になければ抽出することが出来ないのです。

要するに、次のような従業員リストだったら、よかったのです。


しかし、現実的に、このような順番に出来ない場合はどうしたらいいのでしょうか?

そこで登場するのが、
MATCH関数で検索値を見つけてINDEX関数で抽出する、

INDEX+MATCH関数のコンビネーションなのです。


まず、MATCH関数の動きを確認したほうがわかりやすいので、
D3にMATCH関数を作ってみましょう。

D3をクリックして、MATCH関数ダイアログボックスを表示します。

検索値には、B3
検査範囲には、D7:D11
照合の種類には、完全一致なので、0

そして、OKボタンをクリックしましょう。

このMATCH関数を使うと、リストの何番目にデータがあるのかがわかるようになります。

D3の数式は、

=MATCH(B3,D7:D11,0)


この算出された数値をINDEX関数で使って、抽出しようというわけです。

では、C3をクリックして、INDEX関数ダイアログボックスを表示しましょう。

INDEX関数は、2通りの引数を持つ特殊な関数ですが、

今回は行番号があればいいので、どちらでもOKなので、

配列.行番号.列番号を選んでOKボタンをクリックします。

配列には、B7:B11
行番号には、先程MATCH関数で算出したD3を使います。

OKボタンをクリックします。

C3の数式は、

=INDEX(B7:B11,D3)


これで、抽出することが出来ましたね。

このように、VLOOKUP関数の弱点というか、
範囲の表の作りによっては、VLOOKUP関数が使えないケースがありますので、
INDEX+MATCH関数を覚えておくといいかもしれませんね。

なお、C3の数式を、

=INDEX(B7:B11,MATCH(B3,D7:D11,0))

とネストにしてもOKですね。