人気ブログランキング |

タグ:Excelワザ ( 179 ) タグの人気記事

DATESTRING関数

Numberstring関数は、
数字を漢数字に表示させます。
手入力しないと出てこない関数です。
b0186959_13554347.jpg
セルC24の合計金額を、
セルC13に表示させるとき
「943596」を
「九拾四萬参阡五百九拾六円」と表示するのが、
「Numberstring関数です。」
引数の「2」が↑この表示です。

引数の「1」が↓この表示
b0186959_14023084.jpg
引数の「3」が↓この表示です。
b0186959_14051295.jpg
「2」が小切手や領収証の手書き表示に使うかな。

さて、日付にもSTRINGと付く関数が。
「DATESTRING関数」です。
表示形式で令和表示になるようにアップデートされましたが、
関数では、DATESTRING関数を使います。

生年月日から、年齢を
「○年○月○日」と表示したり、
入社年月日から勤続年数を出したりするのには、
DATEDIF関数を使います。
DATEDIF関数も手入力で。
b0186959_16332691.jpg
年齢を出すには、
b0186959_16335305.jpg
歳は、「=DATEDIF(D3,$D$1,"Y")」
ヶ月は、「=DATEDIF(D3,$D$1,"YM")」
日は、「=DATEDIF(D3,$D$1,"MD")」
で出します。
b0186959_16340247.jpg
入社日から今日まで勤続年数は
b0186959_16341024.jpg
「=CONCATENATE(DATEDIF(H3,$D$1,"y"),"年",DATEDIF(H3,$D$1,"ym"),"ヶ月")」
で、何年何ヶ月と出すことができます。
CONCATENATE関数で式、文字を結合。
b0186959_16341959.jpg
基準日となる本日の日付(セルD1)は
TODAY関数で出しますが、
結果をDATESTRING関数で、令和表示にします。
b0186959_16414044.jpg
「=DATESTRING(TODAY())」

「DATEDIF関数」
「DATESTRING関数」
「NUMBERSTRING関数」
3つの関数、すべて手入力で。
関数の挿入のダイアログボックスにはないです。



by school-pc | 2019-07-09 14:14 | Comments(0)

2016ブックを2013に

Excel2級取得対策に
九州文化出版の問題集を使っています。
b0186959_11285587.jpg
問題のデータはダウンロードして使うのですが、
バージョン2016で作って
2013で保存したものが提供されています。
b0186959_11295619.jpg
大勢に影響はないのですが、
2016は既定フォントが游ゴシックです。
行間が2013までは13.5
2016は18.75で、
1画面で表示しきれなくなり、見にくい(^-^;
全セル選択し、2013の既定フォントMSPゴシックにしても
グラフ内の文字、シート状の図形、テキストボックスなどは游ゴシックなので、
課題4の「MSPゴシック11ポイント」にしなさい、というところがマズイ(^-^;

で、これを2013仕様に変えましょう。

★ページレイアウト→テーマ→フォント
 →Office MSPゴシック
 にします。
b0186959_11494964.jpg
すると、行間も13.5
グラフ、図形、すべてMSPゴシックになります。
b0186959_11550648.jpg
バッチリです(^_-)-☆


by school-pc | 2019-06-20 11:55 | Comments(0)

Windowsのアップデートで
令和表示になりました(^^♪
b0186959_17443087.jpg
b0186959_17443671.jpg
b0186959_17444282.jpg
令和1年やけどね(元年ではない)109.png




by school-pc | 2019-05-06 17:45 | Comments(0)

ITバブル時代のインストラクター仲間で
唯一今もお付き合いのあるK様から刺激を受けて…

スケジュール表
31日までない月の
日付の出し方、
色々あると思いますが、
シンプルにできそうなものを作りました。
b0186959_09455959.jpg
1.セルA2とC2にデータの入力規則を使って
 それぞれ「2019~2025」まで
 「1~12」までリストから選択するだけで
 年と月が入るようにします。
(とりあえず7年分)
b0186959_09515926.jpg
b0186959_09512927.jpg
b0186959_09514307.jpg
2.祝日一覧シートを作り
 (ネット上からコピーしました。)
b0186959_09544563.jpg
 それぞれの年の祝日の入っているセルに
 「祝日2019」「祝日2020」「祝日2021」…
 のように名前を定義します。(7年分)
b0186959_09572435.jpg
3.各月の「1日」が入るセルA4に
 式を入れます。
 「=DATE($A$2,$C$2,1)
 2日目からは
  「=IF(A4="","",IF(DAY(A4+1)=1,"",A4+1))
 (もしA4が空白なら空白で返す、
  そうでなければ
  もし、DAY関数でA4の日付の「日」に
  1を足した数が「1」なら空白に
  (各月の1日になる)
  そうでなければ、前日+1
4.この式をA34までコピーします。
5.B4には、
 「=TEXT(A4,"aaa")」の式を入れます。
 セルB34までコピーします。
6.ためしに、「2月」にしてみると
b0186959_10195790.jpg
2月は28日まで出ました。OKですね。

7.次に、
 土曜日は水色で、
 日曜日はピンクで
 祝日は黄色で塗りつぶしが出来るようにします。

8.セル「A4~D34」選択。
9.条件付き書式→数式
 「=WEEKDAY($A4,1)=1
 「=WEEKDAY($A4,1)=7
 (weekday関数の結果が
 1(日曜日)
  ならセルの塗りつぶしをピンク)
 7(土曜日)
  ならセルの塗りつぶしを水色)
 
b0186959_10353071.jpg
10.祝日の場合は、
 「=COUNTIF(INDIRECT("祝日"&$A$2),$A4)>=1
 INDIRECT関数を使うところがミソ!
 INDIRECT関数は指定した文字が表す参照を返します。
 参照セルを文字列で指定できるので便利です。
 (祝日○年という文字列が表すセル参照=定義した名前の範囲。
 の中に、A4以降の日付が1つ以上あれば、黄色で塗りつぶす。)


b0186959_10420657.jpg
3つの条件付き書式ができました。
b0186959_10535388.jpg
 すると、
 土曜日は水色、日曜日はピンク、祝日は黄色
 で塗りつぶしができました。
b0186959_09455959.jpg
ちなみに来年の4月、5月は…
10連休ですね~~(+_+)
b0186959_10580110.jpg
b0186959_10580989.jpg










 






by school-pc | 2018-12-26 10:58 | PC-School | Comments(3)

AVERAGE関数は、平均を出すとき、
「0」のセルも入ってしまいます。
「0」を除いた平均を求めるときは、
AVERAGEIF関数で求めます。
b0186959_09171496.jpg


b0186959_10010400.jpg
「平均点1」は、
=AVERAGE(C2:C11)で、「62.7」点。
内容は、=SUM(C2:C11)/COUNT(C2:C11)
合計を数字の入っているセルの数で割る答(0も入っている)

0を除いた平均を求める式は
=AVERAGEIF(C2:C11,"<>0")
内容は、=SUM(C2:C11)/COUNTIF(C2:C11,"<>0")
合計を0以外のセルの数で割る答(0は除かれる)

b0186959_09563682.jpg
結果が随分変わるね。



by school-pc | 2018-11-13 09:24 | Comments(0)

Halloweenの絵の上で
簡単なマクロでカボチャを表示します。
b0186959_17163590.jpg
1.カボチャを10個描いて
 それぞれに「kabocha1~10」まで名前定義。
2.カボチャの描いていない図を土台にします。
b0186959_17164390.jpg
3.VBAで、2つのマクロ作成。

Sub カボチャ点滅移動後消える()
For i = 1 To 10
With Worksheets(1).Shapes("kabocha" & i)
.Visible = False
.Visible = True: Application.Wait Now + CDate("00:00:01")
.Visible = False
End With
Next
End Sub

Sub カボチャ点滅移動後表示()
For i = 1 To 10
With Worksheets(1).Shapes("kabocha" & i)
.Visible = False
.Visible = True: Application.Wait Now + CDate("00:00:01")
.Visible = True
End With
Next
End Sub

消える方を先に実行します。
次に、表示する方を実行します。
1つずつ順に表示されていきます。
b0186959_17170130.jpg
10個すべて表示されました。
b0186959_17170878.jpg
.visbleをtrue又は、falseにするだけです。

by school-pc | 2018-10-01 17:49 | Comments(0)

リストにデータを追加していくとき、
罫線をいちいち引くのは面倒だ、
b0186959_10010387.jpg
で、2つの方法を提案。
1.条件付き書式を使う方法
 1.最初にリストにしたい範囲を選択。
 2.条件付き書式→新規ルール
   →数式を使用して…
   →数式「=$A3<>""」(A列が空白でなければ)
   →書式→外枠
b0186959_10011349.jpg
 3.すると、A列に次のデータを入れると、
  F列まで罫線が引かれます。
b0186959_10012890.jpg
この方法は、数式が入っていても影響がなく
罫線のみ追加したいとき有効な方法だと思います。

2.テーブルにする方法
 1.すでに入力した範囲、
  (または、見出し行だけでもOK)
  を選択し、
 2.挿入→テーブル
b0186959_10013527.jpg
 3.縞模様(行)のチェックを外すと、
   罫線のみのリストになります。
   (フィルターボタンも外すと,罫線のみになる)
b0186959_10153502.jpg
b0186959_10014247.jpg
  データを追加すると、
b0186959_10015168.jpg
テーブルにすると、式もコピーされています。

どっちがいいかしら?
簡単なのは、テーブルにする方法かなぁ(^_-)-☆



 


by school-pc | 2018-09-20 10:18 | Comments(0)


Excelのシート上の写真を他の文書で使いたいので、
画像ファイルとして取り出したいとき
Zipファイルにして、それを解凍することで、
画像ファイルとして取り出せます。

1.画像の入ったシート
b0186959_10482725.jpg
 元ファイルがなくなると困るので、
 コピーしておきます。
b0186959_10465070.jpg
2.コピーしたファイルの拡張子を
 「zip」にします。(圧縮ファイルにする)
b0186959_10471090.jpg
3.圧縮フォルダになる。
b0186959_10471746.jpg

4.圧縮フォルダをダブルクリックで解凍すると

b0186959_10472698.jpg
5.この中の「xl」フォルダを開く
b0186959_10473292.jpg
6.さらに、「media」フォルダを開くと
b0186959_10474235.jpg
12個の元のjpeg画像が入っています。
この画像を、WordやPPに使えます。
b0186959_11052753.jpg





by school-pc | 2018-08-21 11:05 | Comments(0)

★使用する関数

1.=DATE(年,,日)

DATE関数の引数(カッコ内)に、「年」、「月」、「日」を指定すると、その値がシリアル値に変換されます。

エクセルでは、DATE(デイト)関数を使って、日付を求めることができます。

エクセルの日付は「シリアル値」という値で管理されています。シリアル値は、190011日を「1」として、そこから日付が増えるごとにシリアル値も1ずつ増えていきます。

シリアル値の例:

190012日のシリアル値は「2

201841日のシリアル値は「43191」(190011日から4万日以上がたっているということになります。)

エクセルでは、1つのセルに「2018/4/1」と入力すると、それが自動的に日付と認識され、シリアル値に変換されます。ところが、セルを分けて「2018」、「4」、「1」と入力すると、それぞれ単独の数字として認識されてしまいます。

そこで、DATE関数を利用して、各セルに分断されている数字を日付のシリアル値に変更します。

2.=TEXT(値,表示形式)

「値」として指定された数値を、表示形式付けて変換した結果が返されます。

3.=WEEKDAY(シリアル値,種類)

WEEKDAY関数は、シリアル値に対応した「曜日の数字」を、以下の種類のように表示します。種類は13で指定しますが、指定する種類によって、「戻り値の最初の数字や対応する曜日」が違います。

種類の例:

1(省略)

1:日曜日

2:月曜日

3:火曜日

4:水曜日

5:木曜日

6:金曜日

7:土曜日

2の場合

1:月曜日

2:火曜日

3:水曜日

4:木曜日

5:金曜日

6:土曜日

7:日曜日

3の場合

0:月曜日

1:火曜日

2:水曜日

3:木曜日

4:金曜日

5:土曜日

6:日曜日

4.=INDIRECT(参照文字列) 参照文字列をもとにセルを間接参照する

セル参照を表す文字列を利用して、そのセルの参照を求めます。戻り値として返されるのは、参照先のセルの値ではなく、セル参照であることに注意してください。

<手順>

1.以下のように入力しましょう。

b0186959_10563936.jpg

.セルA1データの入力規則→設定→リスト→20182022までカンマで区切って入力。

セルA1

セルA2

.セルA2データの入力規則→設定→リスト→112までカンマで区切って入力。
b0186959_10585437.jpg
 →「年、月」がリストから選択できるようになります。
b0186959_10594491.jpg
.セルD1に式「="祝日"&A1」と入力。 2022年まで対応します。
b0186959_11073269.jpg
5.セルA4にDATE関数を入れます。
  =DATE(A1,A2,1)と入力。
b0186959_11085582.jpg

6.セルの書式設定→ユーザー定義で「d”にします。

  →「1日」と表示される。
b0186959_11093726.jpg

7.セルA5 =A4+1と入力します。

  オートフィルでA34まで式をコピーします。


8.セル
B4TEXT関数

  =TEXT(A4,"aaa")と入力
b0186959_11104165.jpg
  オートフィルでB34まで式をコピーします。
b0186959_11112768.jpg

★土曜日に水色、日曜日に黄色の色をつけましょう。

9.セル範囲A4C34まで選択します。

10.ホームタブ→スタイルグループ→条件付書式→新しいルール→数式を使用して…
 =WEEKDAY($A4,1)=7……セルの塗りつぶしを水色
 =WEEKDAY($A4,1)=1……セルの塗りつぶしを黄色

b0186959_11141981.jpg

例)=WEEKDAY2018/1/1)→月曜日なので「2」。

土曜日は水色、日曜日は黄色で塗りつぶしができます。

b0186959_11183300.jpg

★さらに、祝日にピンクの色を付けましょう。

11.範囲に名前を付けます。
(Web上の祝日一覧の表を利用しました。)

  祝日シートのセルA3A22→選択
  →名前ボックスで「祝日2018」と入力し、Enter2回(名前の1文字目は数字はだめです。)

  同様に、「祝日2019」「祝日2020」「祝日2021」「祝日2022」を名前定義。

b0186959_11194861.jpg
b0186959_11200442.jpg

12.条件付書式を追加します。

  セル範囲A4C34を選択し、

  →条件付き書式

  →ルールの管理
  →新規ルール

  →数式を使用して…

 =COUNTIF(INDIRECT($D$1),$A4)>=1

INDIRECT関数で返されるセル参照範囲(祝日&2018~2022)の中で、A列に入力されている数字が

1」以上だったら、書式の色を付ける。

b0186959_11260716.jpg
b0186959_11282893.jpg
すると、土日、祝日にそれぞれ色が付きました。
b0186959_11283523.jpg

by school-pc | 2018-07-19 11:30 | Comments(0)

住所が都道府県と市町村以下が
2行になっている住所録。
最終的に別セルに分けたいので,
まずセル内改行を取りたい。
b0186959_12211496.jpg
1.置換を使います。
「clean関数」でもできるけど、簡単な方法で。
 Ctrl+H→置換ダイアログボックス
 「Ctrl+J」と入力。(何も表示されない(^-^;)
 が、無視して、OK
b0186959_12392971.jpg
すると、
b0186959_12395951.jpg
置換されて、住所が1行になりました。

次に、都道府県と市区町村以下を
それぞれD列とE列に分けて表示したい。
と、ここで、2013からついた新機能の
「フラッシュフィル」を使ってみた。
「東京都」と以下の住所を別々に入力し、
データ→フラッシュフィル
b0186959_16564966.jpg
すると、
b0186959_16581539.jpg

あ~~~、やっぱり規則性がないか(;^_^A
神奈川県、鹿児島県、和歌山県、この3県だけは、
4文字、それ以外は3文字
で取り出さないと、ダメね(^^;
やっぱり、関数か…(^^;

D列に「=IF(MID(C3,4,1)="県",LEFT(C3,4),LEFT(C3,3))」
もし、4文字目が「県」だったら、左から4文字分を取り出す、
そうでなければ、3文字分を取り出す。

E列に「=SUBSTITUTE(C3,D3,"")」
C列の文字列を、D列の文字を検索し、
空白に置き換える。
すると、都道府県以下の文字だけが表示される。

b0186959_17182255.jpg

同じ数の都道府県なら、フラッシュフィルでできるけど、
全国のはダメね、フラッシュフィルの弱点でした(^^;





by school-pc | 2018-06-08 13:12 | Comments(0)