Submit Search
Upload
Excel取込みで失敗した先生
•
1 like
•
223 views
Sho Okada
Follow
.NETラボ 勉強会 2019年7月 〜しっぱい先生 オレタチみたいになるな!〜で登壇した資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 35
Download now
Download to read offline
Recommended
VBAを書きたくない話(Excel-DNAの紹介)
VBAを書きたくない話(Excel-DNAの紹介)
bleis tift
SI屋のためのF# ~DSL編~
SI屋のためのF# ~DSL編~
bleis tift
札束でExcelを殴る
札束でExcelを殴る
bleis tift
C#でこなすexcel課題
C#でこなすexcel課題
tosaka 2
WordPressでExcelインポート - Word Fes 2015 -
WordPressでExcelインポート - Word Fes 2015 -
Yuusuke Yoshida
DocFXで脱Excel方眼紙!
DocFXで脱Excel方眼紙!
Iosif Takakura
Excelのどうでもよいtipsの紹介
Excelのどうでもよいtipsの紹介
tsudaa
Excelマクロ・vbaについて
Excelマクロ・vbaについて
Yoshinori Kamaishi
Recommended
VBAを書きたくない話(Excel-DNAの紹介)
VBAを書きたくない話(Excel-DNAの紹介)
bleis tift
SI屋のためのF# ~DSL編~
SI屋のためのF# ~DSL編~
bleis tift
札束でExcelを殴る
札束でExcelを殴る
bleis tift
C#でこなすexcel課題
C#でこなすexcel課題
tosaka 2
WordPressでExcelインポート - Word Fes 2015 -
WordPressでExcelインポート - Word Fes 2015 -
Yuusuke Yoshida
DocFXで脱Excel方眼紙!
DocFXで脱Excel方眼紙!
Iosif Takakura
Excelのどうでもよいtipsの紹介
Excelのどうでもよいtipsの紹介
tsudaa
Excelマクロ・vbaについて
Excelマクロ・vbaについて
Yoshinori Kamaishi
AppleシリコンのMacで Windows11を動かす
AppleシリコンのMacで Windows11を動かす
Sho Okada
ChatAIの未来予想図
ChatAIの未来予想図
Sho Okada
勉強会参加のすゝめ
勉強会参加のすゝめ
Sho Okada
ASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さ
Sho Okada
WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術
Sho Okada
いままで聴いてきたLTのおはなし
いままで聴いてきたLTのおはなし
Sho Okada
今のWeb開発者に伝えたいWebブラウザの病みの歴史
今のWeb開発者に伝えたいWebブラウザの病みの歴史
Sho Okada
SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集
Sho Okada
オープンソースでExcelレポートプログラミング
オープンソースでExcelレポートプログラミング
Sho Okada
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
Sho Okada
メガネ型デバイスの未来について考える
メガネ型デバイスの未来について考える
Sho Okada
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
Sho Okada
止めないためのWEBインフラ入門
止めないためのWEBインフラ入門
Sho Okada
ASP.NETを利用したAJAX開発の応用
ASP.NETを利用したAJAX開発の応用
Sho Okada
WebMatrixに対応した、新しいけど新しくないRazor
WebMatrixに対応した、新しいけど新しくないRazor
Sho Okada
初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本
Sho Okada
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
More Related Content
More from Sho Okada
AppleシリコンのMacで Windows11を動かす
AppleシリコンのMacで Windows11を動かす
Sho Okada
ChatAIの未来予想図
ChatAIの未来予想図
Sho Okada
勉強会参加のすゝめ
勉強会参加のすゝめ
Sho Okada
ASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さ
Sho Okada
WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術
Sho Okada
いままで聴いてきたLTのおはなし
いままで聴いてきたLTのおはなし
Sho Okada
今のWeb開発者に伝えたいWebブラウザの病みの歴史
今のWeb開発者に伝えたいWebブラウザの病みの歴史
Sho Okada
SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集
Sho Okada
オープンソースでExcelレポートプログラミング
オープンソースでExcelレポートプログラミング
Sho Okada
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
Sho Okada
メガネ型デバイスの未来について考える
メガネ型デバイスの未来について考える
Sho Okada
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
Sho Okada
止めないためのWEBインフラ入門
止めないためのWEBインフラ入門
Sho Okada
ASP.NETを利用したAJAX開発の応用
ASP.NETを利用したAJAX開発の応用
Sho Okada
WebMatrixに対応した、新しいけど新しくないRazor
WebMatrixに対応した、新しいけど新しくないRazor
Sho Okada
初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本
Sho Okada
More from Sho Okada
(16)
AppleシリコンのMacで Windows11を動かす
AppleシリコンのMacで Windows11を動かす
ChatAIの未来予想図
ChatAIの未来予想図
勉強会参加のすゝめ
勉強会参加のすゝめ
ASP.NETの進化とASP.NET Core Blazorの凄さ
ASP.NETの進化とASP.NET Core Blazorの凄さ
WebブラウザでC#実行 WebAssemblyの技術
WebブラウザでC#実行 WebAssemblyの技術
いままで聴いてきたLTのおはなし
いままで聴いてきたLTのおはなし
今のWeb開発者に伝えたいWebブラウザの病みの歴史
今のWeb開発者に伝えたいWebブラウザの病みの歴史
SQL Server中級者のための実践で使えるかもしれないTips集
SQL Server中級者のための実践で使えるかもしれないTips集
オープンソースでExcelレポートプログラミング
オープンソースでExcelレポートプログラミング
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
.Netのwebプログラマーに贈るサーバーインフラの比較的かんたんなお話
メガネ型デバイスの未来について考える
メガネ型デバイスの未来について考える
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
止めないためのWEBインフラ入門
止めないためのWEBインフラ入門
ASP.NETを利用したAJAX開発の応用
ASP.NETを利用したAJAX開発の応用
WebMatrixに対応した、新しいけど新しくないRazor
WebMatrixに対応した、新しいけど新しくないRazor
初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本
Recently uploaded
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Recently uploaded
(10)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Excel取込みで失敗した先生
1.
1 Excel取込みで失敗した先生 Sonic先生
2.
2 自己紹介 Connpass ID Sonic先生こと .NETラボ
岡田 将 .NETプログラマーやっています (VB.NET、C#、Xamarin、SQLServer) 技術ブログもやってます http://sonic.blue/it/
3.
Sonic先生のしっぱい 1. 古い技術で後悔 2. Excel取込みが便利すぎた 3.
2進数の基本が出来ていな かった 4. 切り捨て処理を舐めすぎてた 3
4.
質問: 業務のデータ入力では どんな方法があると思います か? 4
5.
業務のデータ入力を Excelでできればと思ったことは ないですか? 5
6.
古い技術で後悔 いっそExcelでやってしまう案 → マクロでめちゃくちゃ対応した 6
7.
古い技術で後悔 いっそExcelでやってしまう案 → マクロでめちゃくちゃ対応した 結果: VBAの機能が貧弱すぎて後悔 7
8.
古 い 技 術 で 対 応 す る と 運 用 の 苦 労 と 技 術 的 負 債 し か 生 ま な い 顧 客 の 動 作 要 件 は 必 ず し も 必 須 で は な い (イ ン フ ラ 除 く ) 8 Sonic先生の教訓
9.
Excel取込みが便利すぎた ということで、 もちろん.NETで制御できます! というかやりました 9 Excel Onlineとか よりExcelっぽいForguncyやSpreadsheetという選択もあり!?
10.
ちなみに、過去こんなことも やっていました 10 これはExcelへの出力制御→ Excel取込みが便利すぎた
11.
Excel取込みのメソッド NPOIを利用する(Nuget) 取込みファイルを用意する セル位置指定して取り込む 11
12.
Excel取込みが便利すぎた 運用開始すると想定してない トラブルが・・・ 13
13.
しっぱい例1 取込み用テンプレートを提供 念のためロックした項目が編集される セル位置指定がずれたり、文字列が紛れ込む エラー発生(調査大変) 14
14.
しっぱい例2 ちゃんと取り込まれる 後間違えたので修正したい 修正画面を用意していない データ入れ替え方式なのに修正部分取り込まれる データ紛失(バックアップよりサルベージ) 15
15.
しっぱい例3 条件付き書式でエラー警告 警告に気づかず取込み 取込みチェックを顧客要望で甘くしてた(削除 データでも取り込みたい) データ不整合(データメンテ発生) 16
16.
こ れ で な ら 使 え る だ ろ う と ( エ ク セ ラ ー ) Excel使 い や っぱ 無 理 な 人 や り 過 ぎ る 人 17 Sonic先生の一句
17.
質問: Excelでは常に正確な値で 演算処理されるか? 18
18.
質問: Excelでは常に正確な値で 演算処理されるか? → 処理されないことがある 19
19.
20
20.
Excelデモ 21 Excelデモ もちろん結果は違う!
21.
Excelデモ 22 Excelデモ Bを100に修正する計が変わってと結果が「同じ」に!
22.
Excelデモ 23 Excelデモ 計から1を計算で引いてるのに、なぜか違うと表示される
23.
Excelデモ 24 Excelデモ 表示桁数を増やすとさらに桁があった!
24.
IEEE 754 規格で循環小数が 例えば0.1を2進数で表すと 0.0001100110011001… 必ずどこかで切り上げられます 25 2進数の基本が出来ていなかった
25.
2進数の基本が出来ていなかった これを知らずにいい気になって、 次のExcel案件もホイホイ受けて しまった 26 ちなみにいままで整数だけだったものが、 今度はパーセントをあつかう処理へ!?
26.
2進数の基本が出来ていなかった Excel関数では合計100%判定 でも実際には有効桁数で保持 されている それをアプリ側で処理すると・・・ 27
27.
2進数の基本が出来ていなかった やらかしました! 28 やっぱり知っている人には常識らしい・・・。
28.
しっぱいパターン 整数なら問題なかった Excelでのチェックはもちろん正常 プログラム側できっちり「1(100%)」で比較判定 循環小数でなければ正常に処理される ついに有効桁数で処理された100%以上が来る 合っているのにエラー警告 29
29.
エ ク セ ル は 数 学 で は な い ほ ぼ 15 桁 (字 余 り ) 30 Sonic先生の一句
30.
切り捨て処理を舐めすぎてた なので、切り捨て処理を確実に 行う必要があります 31
31.
切り捨て処理を舐めすぎてた これだけちゃんと覚えて 帰ってください ROUNDDOWN関数 (Excel関数) 32
32.
切り捨て処理を舐めすぎてた 結論: Excelは悪くなかった! 33 IEEE 754 規格に準拠して処理していただけなので、 プログラム側で対応すべき事案!?
33.
炎上する事態の鎮火方法として マイクロソフトの説明(ナレッジ) があれば、確実にこちらの説明 の信頼性が上がります! どんどん活用しましょう 34
34.
小 数 点 の 扱 い に は く れ ぐ れ も 注 意 し 、 ち ゃ ん と 有 効 桁 数 を 確 認 し て 、 し っか り 切 捨 て 処 理 を 行 った う え で 、 用 法 用 量 を 守 って 正 し く プ ロ グ ラ ミ ン グ し ま し ょ う 。 仕 様 で も ち ゃ ん と 確 認 す る こ と ( DB で は 基 本 な ん だ け ど ・・・) 35 Sonic先生からまとめの開発安全標語
35.
以上で授業を終わります ありがとうございました 36
Download now