Excel Python 質問スレ

2018/01/27(土) 10:54:15.32ID:Nudrd5lR
Excel に Python が搭載されるようです
これで仕方なく使ってた VBA ともおさらばです

アンケートフォーム
https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR7tUuWqOwSJFpBE5ZLhdkgtUMkhZWlkxRjhDRklXSjNTVkNSWkE2WlNQMS4u

公式
https://excel.uservoice.com/forums/304921-excel-for-windows-desktop-application/suggestions/10549005-python-as-an-excel-scripting-language
https://twitter.com/ayatokura/status/942029214257000449
https://forest.watch.impress.co.jp/docs/news/1082952.html
http://www.itmedia.co.jp/news/articles/1712/18/news076.html

■関連
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1097447.html
https://qiita.com/yniji/items/2e80ace081c4b59bc327
https://tonari-it.com/python-and-excel/
2018/01/29(月) 18:54:35.33ID:4EZh8Zpy
RubyとかいうRailsのDSLの話は板違いだろw
2018/01/29(月) 20:42:53.23ID:pa8+GivO
VBAで出来なくてPythonなら出来るようになる事って何があんの(´・ω・`)
68デフォルトの名無しさん
垢版 |
2018/01/29(月) 21:00:18.22ID:kQhn+WL4
Python実行環境があれば
外部から操作できたりしないかな

いちいちテンプレ開いたりして操作するの面倒
2018/01/29(月) 21:31:55.63ID:45icTEbF
>>67
彼女が出来てお金持ちになります
2018/01/29(月) 21:33:32.11ID:bPUqkR9k
仮に採用されたとして、変換先であるPコードをPythonで書けるってだけで機能的に変わるわけではないだろ。
今、VBAで実装している機能をPythonで実装するだけだよ。

Pythonのライブラリや機能を期待する声が大きいけど、どうせPython for Applicationって独自言語にするだろうし、
放置していたVBAに対してライブラリや機能を盛り込むのが一番早いような仕様を、
どういう落とし穴があるかも分からない未知の言語に実装するとは到底思えない。
2018/01/29(月) 21:36:42.34ID:45icTEbF
>>70
Pコードがそのままとは限らない
2018/01/29(月) 21:39:39.72ID:+G/nyk7a
出きることが増えるとかじゃなくてVB系の冗長なコーディングから解放されるのがでかいわ
関数型的なことはよくわからんけど、クラスもましなものが用意されてるんでしょ
2018/01/29(月) 21:51:47.31ID:bPUqkR9k
>>71
Pコード弄るならVBAも弄らないとならないし、そこで追加した仕様をあえてVBAから使えないようにするのは不自然。
Pコード弄らないならPythonはその仕様通りに歪むだろうから、たぶん期待するライブラリも機能も使えない。

どっちにしろVBAに機能が追加されるか、Pythonから機能が削られるかのどちらかでしか実現しないと思うよ。
74デフォルトの名無しさん
垢版 |
2018/01/29(月) 22:50:04.63ID:FfNg5oru
>>72
VBAからPythonへの移行作業とかやらされる方がよっぽど面倒だと思うが
新しく作るだけが仕事じゃないからね
2018/01/30(火) 07:36:32.95ID:LqfPOT3o
>>73
VisualStudioみたいにする可能性もある
2018/01/30(火) 08:07:05.84ID:R3oCXQqF
>>74
いや、VB自体は残るでしょ
2018/01/30(火) 08:12:17.91ID:gBU+LQhN
こもそも
> 仮に採用されたとして、変換先であるPコードをPythonで書けるってだけで機能的に変わるわけではないだろ。
みたいな妄想を根拠に言われてもなぁ w
2018/01/30(火) 15:12:54.44ID:5GO1HuBo
>>77
Excelの正体がPコードの塊と言っても過言ではなく、過去のバージョンとの互換性によって今の地位があり、
セキュリティの問題からVBAに色んな制限を加えてきたという事実があるから、そこを本来的な使い方をしていないユーザーの為に全て捨てるとは考えにくい。

プログラミング言語の知識がない人によくある勘違いなんだけど、言語ってのは文法を指した言葉であって生成される中身は一定じゃないんだよ。
今でこそ規格化が一般的だけど、初期の頃はBASICやC言語にしたって、書き方が同じだけで挙動が違うってのはよくあったわけで。
だからPython VMを直接載せるのでもない限り、Excel Pythonは独自のコード生成をする事になるし、既にあるPコードで挙動を似せるのが一番現実的。

「VBAだと制限があるから、他の言語にすれば制限が無くなるかも!」という感じの意見がPython推しに一番多いんだけど、
現在の制限が無くなったら、そもそもExcelの開発環境自体が会社に禁止されて本末転倒になると思うから制限を無くすってのは出来ないだろうし。
2018/01/30(火) 15:50:19.50ID:qrr5XIVv
> 「VBAだと制限があるから、他の言語にすれば制限が無くなるかも!」という感じの意見がPython推しに一番多いんだけど、

うそだぁ!書きにくく読みにくい化石みたいなVBの構文使いたくないだけだぞ。出来ることは一緒で問題ない。
2018/01/30(火) 16:06:27.11ID:5GO1HuBo
>>79
構文の話で目立つのは「VBAだとこんなに書かなきゃならないけど、Pythonならたった数行!」みたいなの多いけど、
それはPythonの機能やライブラリによって助けられているだけで、これが使えないなら同様の手段を経ることになるんだけど、それは前提の話?

同環境下なら比較が==になるとか、そういう違いしかないと思うんだけど、たったそれだけの為に騒いでるの?
2018/01/30(火) 16:57:20.32ID:2erBHUms
>>80
いちいちループ文とか条件分岐とかも大分簡素化するだろ
2018/01/30(火) 17:23:22.24ID:qrr5XIVv
>>80
> 構文の話で目立つのは「VBAだとこんなに書かなきゃならないけど、Pythonならたった数行!」みたいなの多いけど、

それ構文の話じゃねーじゃんw
こんな過疎スレで藁人形論法までカマしてきてワロタwwwww
83デフォルトの名無しさん
垢版 |
2018/01/30(火) 17:32:23.66ID:61BNvo+J
ちょっと裾野が広がるだけで判ってない人が入ってくる
2018/01/30(火) 17:54:41.42ID:5GO1HuBo
>>81
reduceやmapを素直に使わせてもらえるかっていうのがクラスモジュールという存在を見た時に凄く不安。

一応、今でもクラスモジュールが馬鹿みたいに増えていくのさえ許容すれば機能的に似たようなのは作れるし、
実際に作った事もあるから、標準モジュールにClassを書ければなぁと思う場面は多々あるんだけど。

>>82
ごめんよ、関数型言語的な書き方が出来るかどうかって点だとしか思わなかったわ。
それ以外だとPythonについて詳しくないのでVBAとの構文的な違いって何を指すのかよく分からん。
2018/01/30(火) 17:59:02.86ID:zy+7iaPq
rangeでもめそうΩ
2018/01/30(火) 18:50:07.37ID:WIhcxUXD
こんなところで言い争ってないでggrksだな
87デフォルトの名無しさん
垢版 |
2018/01/30(火) 18:58:12.96ID:PSBzDc7U
おまえらがクソなのは決してVBAのせいではないという事を声を大にして言いたくなるスレだな
88デフォルトの名無しさん
垢版 |
2018/01/30(火) 19:55:42.45ID:BrrEVsku
VBAが古臭いのは確かだけどPythonはPythonで変態仕様だからなぁ
まあコードは確かに短くなるけど好みは分かれそう
2018/01/30(火) 19:58:02.44ID:o21Iga7Z
>>87
好きな方使えばいいだろ
お前みたいのが一番いらん
2018/01/30(火) 20:13:04.92ID:nGtZIoJU
>>85
それな
2018/01/30(火) 20:17:34.51ID:TzoeljUL
次からは非同期じゃないの?
あのおまじないは多分消えるでしょ
2018/01/30(火) 20:42:47.70ID:+nOyuNPb
>>78
> Excelの正体がPコードの塊と言っても過言ではなく
妄想じゃないと言い張るならソースのひとつでも持ってきやがれ
93デフォルトの名無しさん
垢版 |
2018/01/30(火) 21:05:15.82
>>78
>現在の制限が無くなったら、そもそもExcelの開発環境自体が会社に禁止されて本末転倒になると思うから制限を無くすってのは出来ないだろうし。

現在の制限って何?
Excel VBAでできないことって何かあるっけ?
Windows APIも呼べるし何だってできると思ってたけど。
2018/01/30(火) 21:21:46.23ID:NH8IrWLf
>>93

意外となんでも出来ちゃうよね
ただVBAはおもちゃでなければならないって立場もわからないではない
2018/01/30(火) 21:30:27.21ID:NH8IrWLf
なにげにVBAエディタ優秀だからな
正直期待してる 
今もpythonでエクセルデータ処理すること多いしな
2018/01/30(火) 22:14:22.72ID:ZkQFWyzj
>>78
まぁよしんばPコードを使うとしてそこまで心配することも無いんじゃない?
中間言語と言えば大概昔で言うところのアセンブラレベルまで低級化しているもの。
まぁインタプリタであることはネックになるかも知れないけど
Pythonが如何にPコードに翻訳されるかということだけでしょ?
2018/01/31(水) 14:10:44.48ID:4YhVePXS
>>95
VBEになれてるせいでVSがめっちゃ使いにくく感じる
機能はどう考えてもVSの方がいいのはわかってるんだけど
2018/01/31(水) 14:46:34.59ID:1vBVYrce
機能が豊富で性能が上でも使いやすいとは限らない法則
2018/01/31(水) 15:33:14.80ID:gelGqHfV
WebObjects流行らんかったしな
2018/01/31(水) 16:53:37.55ID:QRYbA9Um
>>97
俺は全く逆
VSで暫く組んでるとVBAはまるでテキストファイルに書いてるんじゃないかと錯覚するくらい
インテリセンスが効かない

とは言え走らせながらコードを直して行けるのはいいよね
基本インタプリタだから
2018/01/31(水) 22:06:29.83ID:Lb08SSUE
大雑把に見通し立てたいときにVBA
使いがってがいいんだよな 
図形的に落とし込んで処理する癖あるからVBAで
見通し立てるの好き
102デフォルトの名無しさん
垢版 |
2018/02/01(木) 06:48:41.68
PythonはRubyと違ってクラス名にも日本語使えるからVBAからの移行もしやすいね
103デフォルトの名無しさん
垢版 |
2018/02/01(木) 12:00:21.50ID:XRT62krq
クラス名に日本語ってなんか違和感ある。例えばどんな名前付けてるんだろう。
2018/02/01(木) 12:19:26.59ID:0snSQv2v
慣れの問題だ
それより変なとこにつっかかるとバカにみえるよ
2018/02/01(木) 13:46:07.82ID:NCVvUhLZ
memo
http://sinhrks.hatenablog.com/entry/2015/01/28/073327
https://michaeljsanders.com/2017/04/17/python-vlookup.html
https://stackoverflow.com/questions/25493625/vlookup-in-pandas-using-join
https://stackoverflow.com/questions/36809129/relation-between-two-columns-python
2018/02/01(木) 19:28:32.50ID:cx2O6kE2
>>103
class 社員:
氏名 = ...
番号 = ...
役職 = ...
2018/02/01(木) 21:29:04.32ID:Juc0WH9p
>>106
これはw

英語が母語じゃないぶん記号操作と割り切れる
から楽なんだろうな 
2018/02/02(金) 00:01:34.41ID:DPnTqp9j
Excelなんて古臭いソフト使ってる時点で・・・
109デフォルトの名無しさん
垢版 |
2018/02/02(金) 06:42:54.17ID:aKC9H2sn
>>108
Excelより優秀な古臭くない表計算ソフト教えて
110デフォルトの名無しさん
垢版 |
2018/02/02(金) 07:08:39.92
>>109
太郎とか花子みたいなのなかったっけ
あとLotus 1-2-3とか
2018/02/02(金) 08:00:30.42ID:cU8rYbNX
三四郎な
誰が買ってたのか知らんけど2010までバージョンアップしてた
さすがにもう買えないみたいだが
https://www.justsystems.com/jp/products/sanshiro/
2018/02/02(金) 13:53:22.30ID:NNrLuZbI
>>110
それは excel より優秀ですか?
2018/02/02(金) 18:15:58.82ID:ZpXsrnJV
>>112
今では実在するのかさえ疑わしいくらいの化石だよ
2018/02/02(金) 23:23:11.59ID:fcLPIzTt
表計算ならsqlite3で良くね?pythonにくっついてくるでしょ
115デフォルトの名無しさん
垢版 |
2018/02/03(土) 00:10:31.54
>>114
そのsqlite3とやらでDTPはできますか?
2018/02/03(土) 02:10:09.89ID:Kco6gpdn
何を勘違いしてんのか知らんが、ExcelはDTPソフトじゃないぞ
2018/02/03(土) 02:47:40.24ID:5C9YCfZr
本を作るのは、Python の、Sphinx だろ
118デフォルトの名無しさん
垢版 |
2018/02/03(土) 03:53:36.35ID:GkxfPohe
表計算ソフトだけどなんでもこなすのがExcel
2018/02/03(土) 04:42:36.70ID:7sDmhqAC
マイクロソフト自体が「もうあいつ(Excel)だけでいいんじゃないかな」って風に舵を切ってきてるからな
120デフォルトの名無しさん
垢版 |
2018/02/03(土) 04:58:07.90ID:pNC8Ba1v
官公庁Ωはwordよりexcelだよね
2018/02/03(土) 08:34:33.59ID:5bRR1Ut0
まずは「優秀」の定義からだな
何と何が出来れば優秀ってことになるんだ
2018/02/03(土) 08:35:58.58ID:5bRR1Ut0
俺は使ったことないけどGoogleスプレッドシートはどうなんだってばよ?
機能は十分に揃ってるか、操作性やレスポンスは、ファイルやデータの互換性は、普及率は
123デフォルトの名無しさん
垢版 |
2018/02/03(土) 08:48:40.79
>>121
とりあえず方眼紙として実用的であることは必須条件
124デフォルトの名無しさん
垢版 |
2018/02/03(土) 08:52:06.09ID:WZlfsnXx
とりあえず検討すべきなのはExcelにできないことができるものだけでいいよ
もうExcelがこれほど広まってしまってるわけだし、それがなければ比較する意味もない
125デフォルトの名無しさん
垢版 |
2018/02/03(土) 09:00:09.40
>>124
逆だろ
余計な追加機能はいらないからExcelにできることが当たり前にできるだけでいいんだよ
そうでないとExcelの代替候補にも挙がらない
126デフォルトの名無しさん
垢版 |
2018/02/03(土) 09:11:25.78ID:WZlfsnXx
ExcelにできることならExcelでやればいい
わざわざ互換性とかに問題のある別ソフトを使う必要がない
2018/02/03(土) 09:28:15.95ID:qWVkS+Es
pandas使えるようになったらexcelいらんは
2018/02/03(土) 09:29:20.92ID:qWVkS+Es
>>122
MSのMobile版ExcelよりはGoogleSpreadsheetの方がましだろうか
2018/02/03(土) 09:30:42.85ID:qWVkS+Es
>>126
無料でExcelと同じこと出来るなら無料の方選ぶ
2018/02/03(土) 10:05:04.57ID:372g0Ciw
とりあえずEXCELに向いてないってことであれば
・ビッグデータを扱うこと
・WebSystemを作ること
・規模が大きめのSystemを作ること

他にも何かあるかな
2018/02/03(土) 10:24:49.50ID:SiSfGRY2
パスワード管理
2018/02/03(土) 10:31:33.54ID:7sDmhqAC
ちょっと複雑な事が出来る電卓に色々させすぎなんだよ
2018/02/03(土) 10:52:31.54ID:mp09QDs7
>>119
全部いるだろ
Excelで文書作成とか頭おかしくなるわ
2018/02/03(土) 11:14:42.23ID:jcEuZ+bz
やってみると意外と便利
2018/02/03(土) 12:16:45.03ID:ROxRBp/z
頭おかしいのまでエクセルのせいにすんなよw
136デフォルトの名無しさん
垢版 |
2018/02/03(土) 14:55:29.31
どれか一つしかソフト入れちゃいけないと言われたら迷わずExcelを選ぶ

ExcelならテキストエディタにもウェブブラウザにもDTPソフトにもなるし、
頑張ればアクションゲームだってできるし理論的にはCコンパイラにだってなる
2018/02/03(土) 14:56:56.56ID:TW07+iIs
それはないわ
2018/02/03(土) 15:14:31.33ID:mp09QDs7
エクセルとアクセスは親和性あるけどワードは無理だろ
ワード使えるやつでわざわざエクセルで文書作るやつとかマゾかよほどひどい環境におかれてるかしかなくね?
2018/02/03(土) 15:17:32.46ID:7sDmhqAC
ワード使ってるヤツなんているのかあれ使いづらくて仕方ないだろ
140デフォルトの名無しさん
垢版 |
2018/02/03(土) 15:23:42.44
文書作成には罫線や図形や画像を思った場所に思ったように配置できるExcel方眼紙が最適だよな
141デフォルトの名無しさん
垢版 |
2018/02/03(土) 16:05:51.02ID:aSaiOWhc
ゴミなのはvbaじゃなくてexcelのライフサイクルそのものだから、状況は改善しないだろうな

Cpythonのすべての機能やライブラリーを引き継げるならやる気になるが、ぜーんぶ擬きにしかならんのが目に見えている

Pythonつけるまえにデータリンクの相対参照を有効にしろよと、ゆいいつまともなピボットテーブルがくそみたいな仕様でしんでる
142デフォルトの名無しさん
垢版 |
2018/02/03(土) 16:16:02.20ID:GkxfPohe
>>139
書式の単位やスタイルみたいに覚えなきゃいけない概念が多いけど、
その辺さえ押さえてしまえば使えるよ
2018/02/03(土) 16:45:38.07ID:mp09QDs7
>>139
お前がワード使えてないだけだ
>>142も言ってるけどある程度機能使いこなせれば全然違うからな
メンテナンス性も含めて
2018/02/03(土) 17:24:03.10ID:0JoUjdU+
Wordは初めにスタイルについて学べば楽なんだが、それを知らないから
全部デザインすることになるし各文字個別に管理することになる
2018/02/03(土) 17:41:53.76ID:Zh144c7Y
>>142
ワードのスタイル使いづらすぎ
スタイル適用したまま一部だけ書式が上書き指定できればいいんだが...
2018/02/03(土) 18:13:15.40ID:rEZ1ZR7k
何でワードの話になってんだ?
147デフォルトの名無しさん
垢版 |
2018/02/03(土) 18:59:04.73ID:lXUvmwny
VBAは古すぎるのが一番の問題なんだよ
VB6.0時代の化石みたいな仕様だからな
今のC#やVB.net相当に強化してくれれば別にPythonじゃなくてもいい
148デフォルトの名無しさん
垢版 |
2018/02/03(土) 19:07:34.17ID:VzdMwW3v
話がループの悪寒
149デフォルトの名無しさん
垢版 |
2018/02/03(土) 20:07:55.41ID:J4T0+j9T
IronPythonの悪夢j再び
150デフォルトの名無しさん
垢版 |
2018/02/03(土) 21:04:52.94
で、Excel Pythonでユーザーフォームはどういう実装になるのかね?
2018/02/03(土) 21:41:24.35ID:0JoUjdU+
全自動だからユーザーフォームどころかウインドウを表示せずに表集計や
グラフ作成して印刷またはPDF出力までする
152デフォルトの名無しさん
垢版 |
2018/02/03(土) 21:52:22.59ID:s2hzdjWp
それ、普通にパイソンだけでええんやけんど
使えないのパイソン?wwww
2018/02/03(土) 22:02:43.85ID:0JoUjdU+
pythonからExcelのユーザーフォームを作れるかはやったことないけど
PySideでコーデングしてフォーム作ったことはある
シートウィジット置いて編集させるの
2018/02/03(土) 22:10:21.11ID:yP8ms3f0
これ実現したら数値計算が捗りそう
エクエルの関数もpythonで表現できれば最高だけどな
2018/02/03(土) 22:14:03.61ID:Zh144c7Y
>>154
> エクエルの関数もpythonで表現できれば最高だけどな
VBAと同じように Application.WorksheetFunction.VLookup( ) とか使えるようになるんじゃね?
156デフォルトの名無しさん
垢版 |
2018/02/03(土) 22:15:30.67ID:J4T0+j9T
>>154
MSに過剰な期待はアレです。
2018/02/04(日) 02:00:48.10ID:fXG3tOeX
エクセル2019
Pythonの実装はなしだつてよ
このスレ終了だな
2018/02/04(日) 02:09:37.32ID:c5ClTFL9
ソースプリーズ
2018/02/04(日) 06:41:29.48ID:hCC3OlBk
そもそも「VBA以外の言語をほしがっている奴らがどれだけいるか」というアンケートであって新言語がどうのとか言ってないしな
2018/02/04(日) 07:27:06.68ID:Xn9lQypV
旧来のPコードは参照設定して使える程度のものにして中身ごそっと変えちゃうとかってできないもんなの
言語はともかく、問題はその中身なんだしな
つか、中身の整理さえできれば言語は何でもいいよな、翻訳さえできれば
161デフォルトの名無しさん
垢版 |
2018/02/04(日) 11:17:12.59ID:D/BHnVHF
VisualBasic for Android
2018/02/04(日) 11:50:14.64ID:88eIJAAv
>>161
なんでわざわざVBにするんだよ w
新規に作るならそれこそpythonでもC#でもいいだろ
2018/02/04(日) 15:22:15.41ID:hCC3OlBk
Android版BASICはアプリがあったはず
164デフォルトの名無しさん
垢版 |
2018/02/04(日) 20:28:46.44ID:PvJjB+/H
>>162
C#でマクロ書けて、DOTNETFrameworkの機能を使えたら良いなとは思うが
MSがそんな事をやるわけがない。
「Excelさえあれば何でもできます!」ってのは商売上困るわけで。
2018/02/04(日) 21:58:40.27ID:2o4TizMD
>>160
別にPコードでいいんじゃない?
そもそもPコードだと何が出来ないと言うの?
VisualStudioのilなんか載っけて
インタプリタの特性を殺してまで必要なものなの?
2018/02/04(日) 22:00:49.37ID:2o4TizMD
>>162
まあまあ、VB.Netが書ければ大体
C#も書けるだろうし
そこは大した問題じゃないよ
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況