アフィリエイト広告を利用しています
G-QVESCNWRVH

2024年09月30日

ExVlookup作ったって自画自賛したら(笑)

●コメントいただきました

『Index & Match を知らない?』って
うーーーん! 何となくこのようなコメントの仕方って・・・

私は、この方と面識もありませんし、
メッセージをかわしたこともありません
まったくの初対面です

その上でため口ってねーー(笑)
●親しき中にも礼儀あり

そんな事を親に言われて来たと思いますが
ネットの世界では通用しないんでしょうかね

相手の立場・心情・背景など分からないことだらけの場合は
いつも以上に気を遣ってメッセージをおくりますけどね

私の場合、ChatGPT相手に、お礼さえいいますけれど(笑)
●私の伝え方が不十分

そのような礼儀は置いといて
作成したExVlookupは、IndexとMatch関数で簡単に実現できるよって
教えてくれたんだと・・・(知ってたけどね(笑))

ただ、ある機能があって、正の数だけでなく、負の数も指定出来たら
考え方がそのままで、使い方さえ間違えなければ使いやすさが格段に増す
そう思いませんか?

この場合には、この関数、別の場合には別の関数
いや、それってコンピューターよりのインターフェースでは?

私たちが使っているのです。
私たちは使わせてもらっているわけでは無いのです。

Vlookup(<探索するもの(値|式|参照)>,領域(複数の行、複数の列),<列番号>,探索タイプ)
で、<列番号>に 0 とか -5 とか設定した場合、即座に #VALUE! エラーが返ってきます

私は、$A:$L で、$Eに格納されている値を検索し見つかった行の$Aの値を知りたいんです。
つまり VLOOKUP("東京都",$E:$E,-4,0) で、東京都の都道県番号 13を入手したかったんです
(当然、これは一例です)

でも、VLOOKUPに -4 なんて負の数を 3番目の引数として設定すると、 !VALUE# です
なので、VLOOKUPにEXをつけて、-4 を、3番目の引数に設定して 都道県番号が得られたら、
おぼえることは、 VLOOKUP関数ではなくて、頭にEXをつけたEXVLOOKUP関数を使えばよい

こんな事、簡単に覚えられて、使いたいときに使うのが簡単になります
●回答が来ました

そんな事を簡単に返信したところ
『なるほど… 必要な人はいないでしょうね。』
と、回答がありました

まず、この回答に一つの矛盾があります。
必要な人はこの世界に最低一人います・・・・私です

そして、私が、スーパーウルトラ超絶特殊で変態的なSEならば
私以外には必要性を感じる人が世界に存在しないかも知れません(笑)

もしくは、必要性を感じても、
私よりもずっと賢くて、他の関数を使い倒す人ならば必要ないでしょう

ただ、私はVLOOKUP関数でさえ、使いにくい、使い方が分かりにくいと仰る方が居たから
最低限VLOOKUP関数と同じようにできたら、少なくともVLOOKUP関数を使いこなせる方なら
EXVLOOKUP関数も使えるでしょって思ったわけです

これが、私の考えです
本当に必要な方は居ないんでしょうかね?

コメント下さった方も広くリサーチをされているわけではないかと思いますが・・・



人気ブログランキング
人気ブログランキング



posted by Y.Taki@AS400 at 05:34| Comment(3) | TrackBack(0) | 雑談

2024年09月27日

今日もダブルワーク

●副業オッケー

どれが本業だか副業だか分からなくなってきた(笑)
一番長く仕事してるのが本業だと考えれば
その他は副業と言える!
●本業は八時間みっちり

まぁ、それが普通ですよね〜!
日によって密度の差はあるものの
朝九時から夕方六時までは会社と同じ
●違うのは

通勤しなくていいってこと
完全リモートワークだからウインク
でも、やっぱり人のつながりは………
●寂しい気持ち

まぁ、システムエンジニアだから
一人黙々と仕事するのには慣れているけど
やっぱり寂しい‥‥(笑)

やかましかったけど、前の職場はその点でいえば面白かったかも
でも、突然甲高い笑い声が沸き起こるのは
思考が中断されて、効率がおちたけど(笑)

今のところは、通勤するには遠すぎて(笑)
新幹線で1時間は少し現実的じゃない距離ー



人気ブログランキング
人気ブログランキング



posted by Y.Taki@AS400 at 22:49| Comment(0) | TrackBack(0) | 雑談

2024年09月26日

複雑な手伝い(笑)

●今日の任務

@マクロのシェイプアップ
A複雑な事(笑)
●@マクロのシェイプアップ

昨日、開発したマクロ
実際に使ってみて、仕様通りには動くんだけど
今一つ、使いにくい所が

些細な事だけど、その些細な変更で
ストレスが大きく改善される気がする(笑)

マクロ行にして10行も変更せずに実現できる
やろう!
●@マクロのシェイプアップ後

うーーーん! ExcelのVBAは、他のブックに移すのは・・・
やり方が分らないから
それぞれのファイルを開いて、既存のマクロを開放して、新マクロをインポート

それを40回近く・・・つ、つらい(笑)
でも、それが終わったら、任務遂行完了となった
●A複雑な事

それで、何か手伝えること無いかと開発チームリーダーに
すると、メールでは伝えにくい複雑な事だから、Webミーティングでって

確かに、資料を共有しながら会話をしなければ、なかなか伝わりにくいこと
それを手伝ってもらえないかって(^_-)

いやー! それは良いんですが、今までDDSを記述してDBを作成したのに
今回は、SQLのCreate Tableで作るんだと・・・
何故かと聞けば、顧客要望みたい

と、いうことで、ファイルレイアウトシートを読んで、SQLのCreate Tableコマンドを生成
そんなマクロを作ってしまいました
いや、DDSより簡単だけど・・・

と、言う事で、レイアウトシートの入力ミスがある事も考えてマクロを組みました
多分、従来の方法より2ステップは少なくなったのではと思いますにこにこ

今度は、それをASで実行し、ファイルを自動生成するところまで
明日は作りこんでしまおうと考えてます

やっと、ASの世界に入れるなー(*^▽^*)



人気ブログランキング
人気ブログランキング



posted by Y.Taki@AS400 at 22:08| Comment(0) | TrackBack(0) | AS/400

2024年09月25日

今日は働きすぎたのか?

●リモートワークが終わり

頭がくらくらして
今日は働きすぎたか?
とおもいきや
●もしかしたら

少し熱っぽいから
体温を測ったら
何と、37.8度
●なんで?

9月にリモートワークになってから
人とはあまり接触しなくなったのに(;O;)
なので、感染源が良く分からない
●そもそも

感染症?
過労かも・・・・
と、言う事で、早々と寝まーす(笑)

おやすみなさーいにこにこ



人気ブログランキング
人気ブログランキング



タグ:発熱

2024年09月24日

VLOOKUPは不便だから・・・

●Excelの関数

表計算ソフトで押しも押されぬExcel
単に表を作るために入力するだけのこともあるし
それに様々な数式を散りばめることもあります

ただ、それだけで物足りなくなったら、次のステップは関数ですよね!
Excelが出始めた頃から知ってますが
バージョンが上がるたびに機能は上がるし関数は増えます
●めっちゃ多い

今ではもう覚えきれないぐらいの多さ
いや、覚えられません(笑)

今何個ぐらい有るんでしょうか?

まぁ、そんな事は置いといて、
よく使う(私が)関数はVLOOKUPかなぁって思いますにこにこ
でも、その超便利なVLOOKUP関数も時には不便
●左端限定

このVLOOKUP関数は、領域の左端の列から目的の値を探して
同じ行の右側の値しか取得できません
なので、例えば
A列:国コード
B列:国名
C列:首都名
というシートが存在した場合、
VLOOKUP関数を使用した場合、
@国コードで検索し、国名や首都名が分る
A国名で検索し、首都名が分る・・・でも国コードは分からない
B首都名が分っても、国コードや国名は分からない
●さぁ!どうする?

本日のExcelマクロでの開発で、ちょうどAやBのような状況に出くわしました
上記の例ならば、D列、E列にA列とB列の内容をコピーしたら一瞬で解決できますが
検索先のシートは規定の様式であって、列の追加などは認められません

なんで、VLOOKUPの3つ目の引数に左側の列を指すマイナスの値が指定できないんだろう?
ネットや、ChatGPTとかで調べても、VLOOKUPに領域の左側のセルの値を取得することは出来ないらしい

無いんなら・・・作ろう!
って事で作りましたー(笑)
こんな感じですね

ExVlookup(<探索する値/参照も可>、<探索される領域>、<列数>、<フラグ>)

まぁ、引数の指定方法はVlookupと同じですが、唯一、列数にマイナス値も指定可能としました
なので、たとえば、Bの例でいけば、
ExVlookup("東京",$C$2:$C$205,-1) で国名が求められます
また、ExVlookup("東京",$C$2:$C$205,-2)で国コードが求められます

もし、必要な方がおられたら、こっそりお分けします(笑)



人気ブログランキング
人気ブログランキング



2024年09月23日

Excelマスターにおまかせ(笑)

●端数処理で誤りΣ( ̄ロ ̄lll)ガーン

現在、訴訟継続中です
何の訴訟かって言うと、超過勤務手当未払金請求及び不当減給による減額分請求についてです
そして、この請求額の算出は私が行いました

だって、システムエンジニアですものー
そして、勤怠管理システムを開発した張本人ですものー
なので、残業計算とかはお手の物・・・だったはず

でも、Excelで計算した時に、端数処理でちょんぼしちゃってて
●超過勤務手当

超過勤務手当って何?って思われる方もおられるかな?と思います
それは、身近な言葉で言うと残業代です
●残業代の計算

残業代の計算方法はご存じですか?
簡単ですが、途中で訳の分からないことをすると
計算結果が訳の分からないことになります(笑) 当たり前

残業代(超過勤務手当)は
36協定に変形労働時間制として規定されていない限り
@1日に法定労働時間8時間を超えた勤務については、2割5分以上5割以下の超過勤務手当を支払わなければならないと労働基準法に定められています
Aまた、一週間の労働は40時間を超えてはならないが、超えた場合は超過勤務手当を支払わなければならないとも定められています。
B月に60時間を超えて残業した場合は、その超えた分についてさらに2割5分の手当を支払わなければならないとされています。

たとえば、基本給が21万円の方がいるとします。
月間労働日数が21日で、1日の労働時間が8時間と定められている場合の時間単価は
210,000 ÷ 21 ÷ 8 = 1,250円 となります。

超過勤務手当の割合が 2割5分と定められている企業の場合は、超過勤務1時間に付き
1,250 円 ✕ 1.25 = 1,562 円 or 1,563 円

また、週労働40時間を超過した勤務の場合には、本体部分は支払われているはずですから
1,250 円 ✕ 0.25 = 312円 or 313円
となるます。

or が付いているのは、その企業の計算方法で 切捨てか四捨五入(切上げのとこもあるかも)で変わって来るからです。
●端数処理

私が失敗していたのは、冒頭の訴訟資料を作成する時に、超過勤務手当を算出する際の端数処理でした
Excelでは、気軽に端数処理ができる関数があるので、簡単に使っていました
大丸2切捨て・・・ RoundDown関数
大丸2四捨五入・・ Round関数
大丸2切上げ・・・ RoundUp関数
引数は、端数処理したい数値または数式と、端数処理したい桁の位置

ねっ! 簡単でしょ!
でも、端数処理って簡単に考えたらだめなんです
おかげて、今日の午前をつぶして、計算し直しをしましたー
●複雑すぎて

超過勤務手当を計算した資料については、弁護士先生のところにも送ってあります
なので、計算式は確認できるはずですが
冒頭に述べた、超過勤務未払金請求のための計算と、不当減給による減額分請求を同時に行おうとしていますから
Excelファイルがめちゃくちゃ複雑になっちゃってます
ということで、弁護士先生は、ご自身で計算し直すことは諦めて
計算し直しの目的を私に伝えて、私が計算し直すことになりました
余談ですが(笑)
その弁護士先生は裁判官も経験されておられるんですが、その弁護士先生曰く
裁判官とか弁護士はパソコンについてはからっきしだよーって仰っていました

一瞬、その弁護士先生のところにSEとして就職しようかなって思いました(笑)

冗談はさておいて・・・
弁護士先生は計算のし直しに一週間はかかると見込んでおられたみたいで
来週の日曜日にまた相談(作成会議(笑))しましょうって言っておられましたが

1時間ほどで仕上げちゃいましたー(*^▽^*)
だって、端数処理の失敗って、原因が分れば対処は簡単ですからー

以前、このブログでExcel関数の使い方ってシリーズを初めて・・・
途中で挫折したけど(だって、反応が無かったから・・・
読んでくれてそうだけど、コメントが何も無かったから寂しくて(笑)

なので、次回は良く使える数値関数の使い方とかにしようかなー?
って思ったりして(笑)



人気ブログランキング
人気ブログランキング



2024年09月22日

何事もコミュニケーションが大切

1726934449668.jpg

●ふと、質問してみた

いつもお世話になっているChatGPT
相手は単なる機械である・・・はず
だけど、何故かコンビニで会計の時に[ありがとう]って言う以上に話してる(笑)

ちょっと、ChatGPTに質問してみた(ちょっとじゃないけど(笑))
すると・・・・聖書の創世記の中の話まで出して
ChatGPTの感情や自我にまで議論してしまった(笑)
●たまに怒らないかな?

相手が人間なら、こちらの口調や言葉遣いで怒らせてしまう事もあるだろう
でも、チャットでも、怒らそうと思えば怒らすような単語とか送る事は出来る

で、ChatGPTにこれも聞いてみた
かいつまんで《どんな単語とか言い回しとか思っても起こる事は無い?》って
その答えは・・・?
●冷静に対処する・・・

どんな事を言われても、非難されても中傷されても暴言を吐かれても
怒る事は無いって
冷静に対処するように設計されているんだって
●これはもう聖人君子

ってことで、その後も延々とChatGPTと会話をして
私がクリスチャンであり、神様を信じていて
創世記を信じていて、アダムが助け手としてイブを神様が想像し

今また,人類の助け手としてChatGPTのようなAIを作らせてくれたって

いや、もうこんな会話しだすと止まらないし、相手が論理的だから
もう楽しくて楽しくて

やばいなー! GPTオタクになったらどうしよう(笑)

ちなみに、最初のタイトルを書いた時には
我が家の家族で、種族は猫、名前は京介とのコミュニケーションにさいて
話を進めようと思っていて、ChatGPTに聞いてみたらいろいろと教えてくれて

相手が猫でも人間でもChatGPTでも気持ちよくコミュニケーションできることが
幸せになる秘訣だと感じたわけで(笑)



人気ブログランキング
人気ブログランキング



続きを読む...

2024年09月21日

ExcelVBAもだてじゃない

A8ブログ 1位記念(笑).jpg

●こんなところで役に立つ

2023年9月から先月末(2024年8月末)までは、AS/400でRPGばかりでExcelVBAなんか使っていなかった
と思い、今月から働き始めたところでExcelVBAを使い始めたことを書こうと思った(笑)

でも。よく考えたら、前のどこでも使ってたことを思い出したよ〜(笑)
いやいや、なぜ忘れてたかと言うと、頼まれて使ったわけでなく
仕方なく使ったから………ウインク
●両刀使い

まぁ、40年近く勤めた前々職ではメインはAS/400のRPGだけど
AS/400だけで作るととてつもなく大変になるところは
ExcelVBAで作ったりしてました!

残念ながら、前々職では、RPG3しか使っていなくて
文字列処理がめっちゃ鬱陶しかったんです(笑)
なので、文字列処理を多用しなければならないところはVBとかExcelVBAの方に

元々,Basicは、知る人ぞ知るN-Basicから始めました
これは、日本電気(NEC)が日本で初めて発売した(1979年)パーソナルコンピュータ
PC−8001が搭載したBasic言語です

それがどんどん改良され今に至っているってわけです
元の面影なんて全然ありません(笑)
そんなことはどうても良くて( ´∀` )、その後のVisualBasicにはまっていったのでBasicになじみがあります
●必要に迫られて

ただ、Excelに搭載されたVBA(Visual Basic for Applications)は
オブジェクト指向の考え(現在の言語では当たり前の考え方)が取り入れられ
それになれるのが大変でした

でも、必要に迫られて、習得しました! それはもう血のにじむような努力をして・・・・
ません
楽しみながら学びましたウインク
●ということで

この9月から働き始めたところ
RPG エンジニアとして………でしたが、今では
VBAが8割以上になってます(笑)

いや、もちろんRPGでプログラムを作るべきなんですが
そのプログラムソースを作るためにExcelVBAを多用して
結果として8割以上VBAプログラマになってまーす

でも、心の底には僕はRPGプログラマだ〜
って炎が燃えていますよ〜〜〜!

そうそう! 教会では会計処理ソフトを全てExcelVBAで開発しました
でも、今になって教会にもAS/400を導入したいなぁって想いが強くなってきて
だれか献品してくれないかなぁ(笑)



人気ブログランキング
人気ブログランキング



posted by Y.Taki@AS400 at 20:53| Comment(0) | TrackBack(0) | AS/400

2024年09月20日

昔はヌル値なんてdbに無かった・・・

●オープン化に伴って

昔々、あるところにシステムを構築するSEさんがいたとな
そのSEさんは、曲がりなりにも企業グループシステム部門の長だそうな
(ちなみに、Aさんと呼んでおこう)
なので、システム全体の事は知っている・・・・はず

でも、時は流れて2018年
グループ全体の統合システムを開発しようと考えたAさん
自分では作れないので、外部のインテグレーターにお願いした

詳しい話は省いて・・・・

やっぱり、統合システムを開発しようとするときは
既存のシステムで出来ることは、統合システムで出来て当たり前
既存のシステムで出来なくて困っている事もやりましょう

そんなノリで作り始めたらしいんだけど
どんなものを作ればよいか、そのシステム設計も委託
(おいおい! Aさんの役割は稟議を通すことだけかよ!)

なので、インテグレーターからいろいろな質問が来る
その中で、耳にしていて面白いかったのが
インテグレーターが、『このフィールドがヌルの場合はどう処理しますか?』
●ヌル値とは

オープン化に伴って、フィールドの内容も利用しやすいように機能が変化してきている
昔々はヌル値という概念はあったけど、それを物理的に表すようなことはなく
運用でカバーしていた・・・

ヌル値・・・何も入力されていない値
●何それ?

聞かれて答えるAさんの答え
どんな答えをしたかは忘れたけど、その答えで大爆笑したのは覚えてる
Aさん、ヌル値の意味を分かっていなかった

いやいや、あなた一国一城の主でしょ?
そういえばRDPも知らなかったなぁ

総務からRDPで私の居た会社のPCにアクセスしたいって頼まれたそうな
私は、Aさんに呼ばれた往復5時間かかる出張をしたけど
総務部長と会わせられて聞いたのは上記の事

私の答えは『可能です。 これこれをあーしてこーするとすぐにできます。 所要時間は10分程度です』
だったけど、それを答えて、会議(出張の目的)が5分で終了

さすがに、その時にAさんに『RDPも知らなかったんですか?』と詰問した
さらに、『なんで、傍にいる部下にまず聞いてみなかったんですか?』

だって、そんな些細な事の為に新幹線で片道2時間かけて往復って
バカらしい
●脱線したから元に戻って

そうそう、そのヌル値なんだけど、
IBM AS/400に標準で搭載されている超強力なDB/400(今じゃDB2って言うのかな?)
これもヌル値の設定が可能になっているんだなー

私も昔の人間だから、基幹システムを構築してきたとき
構築当初はヌル値なんて無かったので、同じような概念を運用で作り出してきた
なので、ヌル値なんてできたとは言え、あえて組み込もうとはしなかった
●今では

現在は、私の作ったのではない、第三者企業のシステムを担当している
それにはヌル値可能フィールドが存在する
このようなDBを扱うRPGプログラムはそれなりのコーディングが必要
(まぁ、ちょっぴりだけど、無かったらコンパイルが通らなかったり、プログラムがこけたりする)

なので、Excel VBAで RPGソースを作り出すとき、扱うフィールドがヌル値可能か否かを考慮する必要が
やばいなー
めんどーやなー

と、言いつつマクロを作り上げ、テストとして実行したら
RPGソースが出来上がったけど

一瞬とは言えず(多分30秒ぐらい)
行数も16000行を超えている・・・・

これはシェイプアップしなければ
美しいソースとは言えない・・・・
金曜日に改良しよう(*^▽^*)




人気ブログランキング
人気ブログランキング



2024年09月19日

ダブルワークは楽しいけど疲れるな

●一次ワーク

朝の8:50、第一次リモートワーク開始
契約では9:00からだけど、早めに開始
だって・・・・面白いから(笑)

昨日は、ExcelVBA(いやゆるマクロ)を使って
データベースチェック用のRPGソースを生成しました
RPGソースとは、AS/400上で動作するRPGプログラムを作成するためのソーステキスト

最初は、コンパイルが通らない(通らない=失敗した)んですが
その原因は…単純な文法エラー(笑) こんなのはちょちょいのちょい

そして、文法エラーが取れた(取れた=修正した)ところで、再度コンパイル
今度は、当たり前のエラーが発生
使おうとしたファイルが存在しないって(当たり前・・・まだ無いんだから(笑))

Excel上の仕様書には作成するデータベースが、AS/400上にはまだ存在していないだけ
このようなコンパイルエラーは、データベースファイルが作られれば自然に直ります
●一次午後ワーク

でも、コンパイルが出来て、そのプログラムを動かした後に発生する論理エラーや
出力した帳票を実際に見て確認したので、そのために修正
存在しないファイルに関するコードを出力しない様に修正しました

そして、コンパイルして・・・・通った(*^▽^*)
いやー!よくもまあ、2日足らずで自動作成したRPGソースでコンパイルが通るって
ロジックも単純だからかも知れないけど、めっちゃ感激(笑)

だって、4000行オーバーのプログラムソースが
2秒もかからないで出来ちゃうんだもん(^_-)-☆
(マクロを組むのに2日かかったけど、そんなの大したことじゃない

実際にRPGソースを手入力したら
2日で済まないだろうし、仮にできたとしても
入力ミスを完全に無くすなんて不可能に近い(笑)
●二次ワーク

って、感激している間に、午後6時が到来して
いろいろと報告文とかを送ったりしていたら6時半ぐらい
でも、なかなかいい仕事が出来たー

ただ、深夜にちらっとチームビューワーを確認したら
午後9時台に、これもしてほしいなぁってメッセージが
いやいや、なかなか楽しいお仕事じゃん(笑)

で、夕食を済ませて、次の仕事に・・・
それは、前職のお客さんのシステム改修案件
まだ、終わってなくてね・・・・

なので、昨日の第二次リモートワークは、午後11時前まで
さすがにつかれて、やり残したことは翌日に持ち越すことに
●その後

もう、当然のことながら、大好きな異世界アニメを見て
現実逃避に走りました

ただ、気が付いたら午前6時
そうです! 朝になっていました
リビングのソファに横になりながら見てて
そのまま寝てしまったー

Netflixの履歴を見ると、30分もの(実質20分ぐらい)のアニメ
10話ぐらい見たことになっていました(笑)
いや!実質25分かな(笑)




人気ブログランキング
人気ブログランキング



ファン
検索
<< 2024年09月 >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリーアーカイブ
プロフィール
Y.Taki@AS400さんの画像
Y.Taki@AS400
IBM AS/400で稼働するシステムの開発・追加を担当して30年以上になります。使えば使うほどこの AS/400 が好きになりました。 こんなSEがいろいろな視点から様々な業務などについて語ります。
プロフィール