よしみな ブログ

資格試験・就活・労働問題・資産運用について記事を上げていきます。

HTML上で文字間の隙間を指定する

etter-spacing
文字間の隙間を指定するプロパティです。負の値も指定することができます。
初期値はブラウザやフォントに応じた通常の文字間隔が使用されます。

用例

                .sample   {letter-spacing: 2px;}

※長さ(letter-spacingの後ろの数値)は数値+単位で指定します。単位はpx(ピクセル)、%(パーセント)、pt(ポイント)、em(エム)、(これ以降検証必要)in(インチ)、mm(ミリメートル)、pc(パイカ)等になります。

 

CSS3以降は新しい単位が追加されるそうです。(今回は使用しておりませんので、解説しておりません。)

 

簡単に単位の解説を書きます。

 

10px=7.5pt=0.104in=2.117mm=0.625pcとなります。

 

1px上がるごとに0.75pt上がります。

 

in、mm、pcはpxが増えたからと言って、等差数列っぽく増えていくわけではないので、覚えなくて大丈夫だと思います(実際あまり使用した記憶がない・・・)

 

%、emは相対単位なので、要素のフォントサイズによります。(フォントサイズを10pxと指定したいたら、100%と1emは10pxとなります。70%・0.7emは7pxとなります。)

 

CSS内に記入>

.sample_letter-spacing
    {letter-spacing10px;}

 

<HTML内に記入>

<div class="sample_letter-spacing">
    ここの文字間は10pxになります。
    <p>ここの文字間は10pxになります。</p>
    <p style="letter-spacing: 2px;">ここの文字間は2pxになります。</p>
</div>

 

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

 

f:id:yosi_mina:20210117232148p:plain

ウェブ内での表示

以上の結果からわかるように、lettet-spacingは親要素に指定した値が子要素に継承されます。

継承されないプロパティの場合、<p style="letter-spacing:2px;">と</p>で囲まれた間の文字はdiv.sampleで指定されたプロパティが適用されます。

CSSの継承についての詳細は今後書く予定です。

 

ちなみに、letter-spacingにて負の値を指定した場合は下記のようになります。

letter-spacing:-2px;

ここの文字間は-2pxになります。

 

とりあえずはこんな感じです。

追記があればさらに記載していきます。

ワークシートを指定するプロパティ VBA

今回はセルを指定する、シートを指定するVBA(マクロ)について解説していきます。

 

Worksheets
ワークシートを操作対象として指定する際に使用します。ワークシートの指定はシート名でも指定することもできます。また、シート番号(インデックス番号)指定することが出来ます。
ActiveSheet
ワークシートを操作対象として指定する際に使用します。操作対象として指定するワークシートは現在操作対象となっているワークシートです。
Sheets
ワークシート、グラフシートを操作対象として指定します。今回Sheetsについての解説は記載していません。※今後記載するかもしれません。

 

具体例
シート番号(インデックス番号)で指定する。

 

Sub ワークシート4枚目を指定()

    Worksheets(4).Select

End Sub

 

f:id:yosi_mina:20200504005848p:plain

実行前

 

f:id:yosi_mina:20200504005916p:plain

実行後

 

 

ワークシート名で指定する

Sub Macro1()

    Worksheets("ブログ").Select

End Sub

 

f:id:yosi_mina:20200504005916p:plain

実行前

 

f:id:yosi_mina:20200504010019p:plain

実行後

 

Worksheetsの解説はこれで終わります。

ワークシートを指定する方法はWorksheets以外にActiveSheetsプロパティ、Sheetsプロパティがあります。

 

 

Activesheetについて

A1セルにシート名を入力するマクロを用いて解説します。

コード文は下記

Sub A1セルにシート名を入力()

    Cells(1, 1).Value = ActiveSheet.Name

End Sub

 

f:id:yosi_mina:20200504010043p:plain

実行前

 

f:id:yosi_mina:20200504010105p:plain

実行後

以上です。

 

ActiveSheetには隣のシートを参照する際に使用します。

※この方法については後日、解説します。

 

ここまで読んで頂き、ありがとうございました。

 

副業の原価計算 計算方法

今回は主に副業においての原価計算を解説していきます。

 

原価計算の必要性

原価計算が出来ない場合、副業によってどれだけの利益が上げられたのかがわかりません。

また、普通の社員としても、この仕事をすることで会社に対してどれだけの利益をもたらすのかの大枠を計算するのにも原価計算の手法はざっくり計算できたほうがいいと思います。

 

原価計算

売上・原価を計算することです。

今回はこの二つに分けるだけで大丈夫です。

厳密にはもっと細かく分かれますが、こと副業や一般社員として考える範疇としてはこの二つまでで大丈夫だと思います。

 

売上

販売した場合は販売した金額のこと。

契約した場合は契約金額のことを言います。(契約に関してはそれが長期に及ぶ場合、その長期に及ぶ原価も考えなければなりません。)

 

原価

売上を計上するまでにかかった費用のことです。

物を販売した場合は、物の材料費や輸送費など契約した場合は販売相手と商談を行うために使用した公共交通機関の料金(タクシーや電車などの料金)や長期契約の場合は今後契約履行のために対応した際に発生する費用などを織り込んだものが原価となります。

 

原価の種類
販売会社・製造会社の場合
本を販売した際は本を作るための材料費や作家さんに支払うための印税、本の宣伝に使用する広告費など販売するために使用した費用はすべて原価と考えて大丈夫です。
(厳密には違いますが、経理にて経営判断でも行うでもない限りは厳密に考えなくて大丈夫です。厳密な計算方法については別の記事にて解説します。)
副業の場合
(今回のメインはこちらになります。)
この作業を終わらせるのにどれだけの時間がかかったのか、その作業をするための環境を作るのにどれだけの費用などを原価と考えます。

 

 

売上の求め方

これは具体的に説明しませんが、イメージしやすいと思います。販売金額や契約金額、つまり収益のもらう金額が売上となります。

 

原価の求め方

具体的に数字を使用して解説します。(今回のメインはざっくり解説なので、ざっくりします。)

販売・製造会社の場合
f:id:yosi_mina:20200427052611p:plain
販売・製造会社の原価
とします。
今回の原価は360,000円になります。販売金額はこれ以上でないと利益が出ないということですね。費用が他にもないか考えるようにしてください。

 

副業の場合
f:id:yosi_mina:20200427053201p:plain
副業の原価
とします。
今回の場合は原価が320,000円となると考えられますが、環境整備費は次の副業の際にも使用できます。(一回きりの環境整備費の場合は全額が原価になりますが、次回以降も考えられるとします。)
10回出来るとしたら今回は30,000円分が原価となります。(遂行時間が変化する場合は遂行時間によって配分する額が変わってきたりします。
具体的には
f:id:yosi_mina:20200427053230p:plain
副業の原価(10回出来る場合)
上記のようになります。
受注費についても発生しない時もあると思いますので、その時は原価に計上せず金額が変わってくると思います。(今回はそこまでは行いません)
収益と環境整備費と受注費を差し引いた額が収益になります。ここから副業を時給換算することが出来ます。(本業としていくには時給も大切になってきますので、注意するようにしてください。)

 

まとめ
  • 売上は販売・契約金額のこと
  • 原価は売上を計上するためにかかる費用のこと
  • 売上と原価の差が収益になる

 

ここまで読んで頂き、ありがとうございました。

Offset マクロ(VBA)

今回はマクロ(VBA)にて「変数を用いてセル範囲指定を移動する際に便利なOffsetプロパティ」について解説します。

 

Offset(数値1, 数値2)

指定しているセル範囲から数値1行・数値2列分移動した位置にあるセル範囲を操作対象とするプロパティです。

 

具体例を挙げて解説します。

コード文を下記とします。

ActiveCell.Offset(1).Select

 

このコードはマクロを動かす前のセルの位置から一つ下の行を選択するVBAコードです。

f:id:yosi_mina:20200429153256p:plain

実行前

 

f:id:yosi_mina:20200429153446p:plain

実行後

 

となります。

 

行だけでなく列も移動させることが出来ます。

列のみを移動させます。

コード文は下記とします。

ActiveCell.Offset(, 1).select

 

上記とは違い、列のみを移動させます。

(結果表示は省略)

 

列を移動させて値を代入するときは次のようにします。

ActiveCell.Offset(, 1).Value = 14

 

このようにすると移動した列の値に「14」が入ります。

f:id:yosi_mina:20200429153256p:plain

実行前

f:id:yosi_mina:20200429153533p:plain

実行後

 このように右隣のセルに「14」が入力されます。

 

 

セル範囲の移動

コード文は下記とします。

Range("A1:C3").Offset(3, 1).Select

 

f:id:yosi_mina:20200429153616p:plain

移動前(マクロ内で操作対象にしています。)

 

この操作対象が移動して下記になります。

f:id:yosi_mina:20200429153717p:plain

実行後

セル範囲(今回は3×3のセル範囲)が移動していることがわかります。

 

 

余談

Offset(数値1, 数値2)

数値には負の値が入った場合も正常に動きます。

(行(数値1)の場合は上に、列(数値2)の場合は左に動きます。)

 

実際にやってみます。

コード文は下記とします。

ActiveCell.Offset(-3, -1).Select

f:id:yosi_mina:20200429154157p:plain

実行前

 

 

f:id:yosi_mina:20200429154620p:plain

実行後

 

 

このように移動します。

 

Offsetプロパティの解説は以上です。

 

今後はプロパティを組み合わせた使い方等も紹介していきますので、読者登録よろしくお願いいたします。

 

ここまで読んで頂き、ありがとうございました。

Excel IF関数 使用方法

今回はExcelのIF関数を解説していきます!

 

IF関数
セルの値を検索し、条件が一致した場合に特定の操作を行う関数

 

Excel関数は多いため覚える必要はないです。

しかし、ああいう関数があったなと覚えておき、使おうと思ったときにネットで使い方を検索して使用してください。

 

IF関数はよく使います。

使い方のバリエーションも豊富です。

 

セルに入っている値を判別することもできます。

=IF(A1=1, ”〇“, ”✕“)

といった使い方や

 

また判別した結果によって計算方法を変える

=IF(A2=3, A2*A2, A2*A1)

という使い方もできます。

 

具体的な使用方法

具体例として、Excelの表に「東京」が入力されているデータを抜き出したいとします。

元データは下記とします。

f:id:yosi_mina:20200427011016p:plain

表データ

 

判定値のセルに次の関数を入力します。

=IF(C3="東京", "●", "×")

隣の入力欄のセルに「東京」が入力されていると●になり、それ以外の都市の場合は×が出力されます。

f:id:yosi_mina:20200427011422p:plain

入力後

 

 

これをオートフィルを用いて一番下のデータの隣まで関数を入力します。

すると、全ての入力欄に対しての判別が行われます。

f:id:yosi_mina:20200427011548p:plain

全ての判別結果

 

 

そして横に貼り付けします。(元データを壊さないためです)

次にデータの並び替えを行います。今回はフィルターを使用します。(この際、氏名・住所・判定を選択してください)

すると、判定の横に▽がつきます。▽をクリックし、降順を選択します。

すると、、、以下のようになります。

f:id:yosi_mina:20200427012113p:plain

ソート後



 

●になっているものが上に来るので、「東京」が入力されているデータが抜き出せました。

!!注意!!

※今回は「東京都」と入力されているデータは抜き出していません。「東京」が含まれているデータを抜き出すには、IF関数とCOUNTIF関数を同時に使う必要があります。

 

 

余談 ソートについて

ソートの方法は非表示にする方法を使用してやっている方もいますが、元データを非表示にして使用していると勘違いを起こす方もいるので複数人で使うデータについては上記の方法で行ったほうが無難です。(戻す手間もなくなりますし)

 

終わりに

今回はIF関数の使用方法の一例を紹介しました。

工夫次第で使用方法はいくらでもあるので応用してください。

 

まとめ
  • IF関数は使い方が豊富
  • IF関数の条件式の使い方が重要

 

こういう時はどうするの?とかの質問をもらえればその都度ブログもしくは更新していきますので、質問がある方はコメントお願いします。

 

ここまで読んで頂き、ありがとうございました。

表のセルを指定するVBA(マクロ) CurrentRegion

今回は表全体のセルを指定するVBAの解説を行います。

 

Excelで使用するデータは表がほとんどだと思いますが、CurrentRegionを知らない場合と知っている場合とでは、VBAの便利度が変わってくると思います。

 

CurrentRegion
基準とするセル.CurrentRegionとすることで、基準とするセルが含まれる表をすべて操作対象とするプロパティです。

 

使用方法

表全体を指定する場合は下記のようにVBAプログラムコードを書きます。

    Cells(2, 2).CurrentRegion.Select

とすることで、セルB2を含む表全体を選択した状態になります。

実行する前と実行した後のExcelがどうなるかの画像を下記に表示しておきます。

 

f:id:yosi_mina:20200426210047p:plain

表データ

 

f:id:yosi_mina:20200426210133p:plain

実行結果

使用方法は以上です。

 

 

!!注意!!

CurrentRegionにて表全体を指定する場合、Excelで作成している表の周り1セルは空白セルでないと表が広がってしまいます。注意してください。

文章だけではわからないかと思いますので、実際にやってみます。

 

表データを下記のようにします。

f:id:yosi_mina:20200426210222p:plain

表データ2

 

 

そして上記と同様のマクロコード

    Cells(2, 2).CurrentRegion.Select

を実行すると下記のようになります。

f:id:yosi_mina:20200426210250p:plain

実行結果



このように表の周りが空白セルでない場合、どこまでも表として扱われてしまいます。

データを作る際に気を付ける部分です。しかし、注意してまでもやるメリットは大きいと思います。

 

まとめ
  • CurrentRegionで基準とするセルが含まれる表全体を操作対象とする。
  • 選択する表の周りの1セルは空白セルでないと周りのセルも表として認識されてしまう。

 

以上です。

 

ここまで読んでいただき、ありがとうございました。

Pythonの初歩的なエラー

Pythonにて、UUIDを生成するプログラムを作成した時に検出されたエラーについて書きます。

 

エラー文

AttributeError: partially initialized module 'uuid' has no attribute 'uuid4' (most likely due to a circular import)

 

python のプログラム
import uuid

print(uuid.uuid4())

 

 

さて、ここでなんでこのエラーが出るのかを結論から言うと・・・

プログラム文のせいではなく、プログラムを保存しているファイル名が原因となっています。

 

このプログラムを書いたファイル名を「uuid.py」にして保存すると上記のようなエラー文が返ってきます。

 

プログラミングをする上で、やってはいけないとされているのが関数名やモジュール名などをファイル名にするのがNGと言われています。

 

しかし、初心者だとやっちゃうことも多いと思います。

 

ファイル名を「uuid.py」とすると1行目

import uuid

 

によるところで、自分のファイルをimportしようとするので

AttributeError: partially initialized module 'uuid' has no attribute 'uuid4' (most likely due to a circular import)

というエラーがでます。

 

※またエラー文の内容をgoogle翻訳で翻訳すると

AttributeError:部分的に初期化されたモジュール 'uuid'には属性 'uuid4'がありません(ほとんどの場合、循環インポートによる)

となります。これで気づく人もいるのかな?

 

結論

何かのモジュールをインポートするときのファイル名は同じファイル名が保存されていないか注意する必要がある。

 

説明なんか読まないでもどこを直せばいいかだけ教えてほしい方は

ファイル名「uuid.py」を「sample.py」に変更すればおk!

 

以上です。

 

ここまで読んで頂き、ありがとうございました。