X



Excelの新関数「LAMBDA」(ラムダ)が一般提供開始 〜Excel数式が本格的なプログラミング言語に
■ このスレッドは過去ログ倉庫に格納されています
0001以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:43:36.120ID:a2zUeU3z0
米Microsoftは2月8日(現地時間)、「Excel」の新しい関数「LAMBDA」(ラムダ)とそのヘルパー関数の一般提供を発表した。「Microsoft 365」の最新チャネルで配信中の「Excel」ビルドで利用できる。 ・Windows版:16.0.14729.20260 ・Mac版:16.56(Build 21121100) ・iOS版:2.56(Build 21120700) ・Android版:16.0.14729.20176  「LAMBDA」関数を利用すると、「Excel」の関数で新しい関数を作り出すことが可能。
ユーザーが独自のカスタム関数を定義し(「LET」関数を組み合わせれば名前も付けられる)、ワークブックで再利用することができるので、冗長な繰り返し表現が排除されて数式の見通しがよくなるほか、無用な入力ミスを防止できる。
 また、これまで「Excel」の数式だけは記述できなかった動的なループ処理を記述できるようになるのもメリット。
従来の「Excel」で同様のことを実現しようとすると、どうしてもVBA(Visual Basic for Applications)の知識が必要となっていたが、それが不要となる。

http://imgur.com/qp1SVD9.jpg
https://news.yahoo.co.jp/articles/564cd1995caff4d7a3a86040718a39f1dca76d6a&;preview=auto
0002以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:44:55.517ID:OM2mrq5yd
革命かよ
0003以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:45:03.029ID:FRaLRMD30
ゴミ。
0004以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:45:27.060ID:FNwL6kCIM
よくわからん
これが競馬予想にどう活かせるんだ?
0005以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:45:30.666ID:cg20DfXs0
>>2
ついにExcelの革命が起こってしまった
0006以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:45:46.396ID:pbK8P52Da
自作関数は強いけど他人にはなかなか渡せんな
0007以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:45:50.039ID:WdwjJeEIp
つまりエクセル内で自作関数が作れるようになったってことか?
0008以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:46:14.326ID:2BetuKCG0
激オモ君?
0009以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:46:57.643ID:rfmCfsRba
>>7
関数をパラメータに取る関数が書けるということ
0010以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:47:06.893ID:rDwB+XzX0
そこまでするならvbaでいいじゃんって気がするが
0011以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:47:39.012ID:zce2fZTC0
関数はsumだけあれば十分
0012以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:47:39.568ID:AUsDAaCS0
その関数定義はどこでやるの?毎度の狭い一行入力バーの中でやるの?
0013以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:48:06.846ID:3UFn1gsP0
新関数使いこなせるやつはVBA出来そう
0014以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:49:05.079ID:3lvfW6+h0
vbaよく知らない関数派のワイの大勝利って事でええんか?
0016以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:49:47.748ID:AUsDAaCS0
可読性ゴミすぎて話にならない
0017以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:50:35.641ID:kogdch5c0
ラムダ定義シートをつけるのが流行るな
0018以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:50:36.911ID:+IkUNl6e0
いやMicrosoftなんだし.NET使わせろよ
0019以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:50:52.281ID:YyUBVyOY0
これ使いこなせるならVBAもわかるよね
0020以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:51:11.439ID:+obzghpO0
>>12
普通にセルでLAMBDA式を作ってそれを名前の定義にコピペするだけだよ
0021以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:51:23.366ID:3UFn1gsP0
>>15
はぇえ
使わんな
0022以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:51:40.256ID:VoVLSA+g0
>>9
>関数をパラメータに取る関数が書けるということ

今までもできね???
=if( sum(A:A) == 1 , 0 , 1 )
0023以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:53:31.542ID:AUsDAaCS0
>>20
セルの式の中でインデントとか改行とかできるの?
0024以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:54:55.034ID:PXLvdZjb0
>>14
>>19
俺も関数派でVBAサッパリだわ
LAMBDAはベータチャネルから使ってたけど再起処理便利だな
0025以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:55:50.329ID:rfmCfsRba
>>22
sum(A:A) == 1は、関数ではなく真偽値
0026以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:55:51.413ID:PXLvdZjb0
>>23
改行なら前から出来てたよ
0027以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:56:10.184ID:OM2mrq5yd
VBAの動的計画法のプログラムあるけど、ラムダで実装できんのかな
計算速度気になる
0028以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:56:26.315ID:goTARBu50
闇が一層深まっただけだろ…
0029以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:58:09.415ID:P79LC0T80
実際この関数、何に使うのよ
具体例を示してほしいのよ
0030以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:58:29.628ID:PXLvdZjb0
>>28
仕事辞めた後、引き継いだ他の奴らの阿鼻叫喚を想像してニヤニヤする
0031以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:59:16.180ID:0/9lkhHK0
プログラマーってlamdaとか関数言語的なやり方好きな人多いからな
0032以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:59:17.602ID:P79LC0T80
要は別のセルで組んだ関数を呼び出せるってことでしょ?
0033以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 11:59:44.749ID:pbK8P52Da
>>30
これよな
地獄が待ってる
0034以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:00:22.132ID:OM2mrq5yd
>>29
リファレンスにあるよ
0035以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:01:17.962ID:eGtIOFi60
全然読んでないけどVBAが不要になるってこと?
0036以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:02:04.663ID:VoVLSA+g0
>>25
なるほど。こういうのは?
=VLOOKUP(C25,INDEX(C17:H22,VLOOKUP(C25,J17:K22,2,FALSE),0),VLOOKUP(D25,M17:N22,2,FALSE)+1,FALSE)
0037以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:03:47.972ID:PXLvdZjb0
>>35
オブジェクト使うにはさすがにVBA必要だけどオブジェクト無しならワークシート関数だけで出来るようになったよって事かな
俺もあんまよくわかってないが
0038以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:04:30.124ID:PXLvdZjb0
>>36
XLOOKUP使った方がいいよ
0039以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:06:35.926ID:3hIoyLFr0
おもそう
0040以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:07:31.603ID:PXLvdZjb0
再帰が出来るようになってチューリング完全だよっていうの見た
0041以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:07:52.630ID:SQK2etXg0
またマクロウイルスが流行りそう
0042以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:12:08.985ID:ApXUSGGvM
もうめんどくさいからマクロでいいよ
0043以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:19:21.540ID:94JxdUm5d
重くならなきゃいい
0044以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:20:55.903ID:e0jjfFt40
A1 AAA-あああ-123-XYZ
A2 3
A3 123

A1からA2番目の値を取り出したい場合
A3の式が↓
=LAMBDA(A,B,IF(B=1,IFERROR(MID(A,1,FIND("-",A)-1),A),SPLIT2(MID(A,FIND("-",A)+1,LEN(A)),B-1)))(A1,A2)
となる
SWITCHやIFSでもいいけど-が多くなればなるほど再帰を使った方が良い
0046以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:21:46.433ID:Dl05FnAN0
は?神か?
0047以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:24:57.248ID:yn1rolU70
古いバージョンで読み込めなくて発狂するところまで読めた
0048以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:33:50.297ID:e0jjfFt40
LET関数は、独自の名前を定義して使うこともできますが、必須ではありません。どちらかといえば、セル内の数式として使う機会が多いはずです。またLET関数は「LET関数を使わないとできない」という話ではなく、LET関数を使うと記述が短くなって読みやすくなるというのが効能です。一方のLAMBDA関数は、セル内に直接記述するのは意味がありません。必ず名前定義と一緒に使います。そして、LAMBDA関数の特徴である"再帰"を使えば、今までのワークシート関数だけではできなかった処理も可能になります。どう考えても、両者の難易度は「LET <<<<<<< LAMBDA」です。何しろ、LAMBDA関数でやっている数式を調べるには[名前の管理]ダイアログボックスを表示しなければなりません。したがって、その前に、そもそもExcelには"名前定義"という機能があると、それを知っていなければなりません。今まで、多くのExcelユーザーに聞いてきましたが、この"名前定義"機能をご存じない方は意外と多いです。そして、ご存じない方の数は、年々増えているように感じます。よしんば[名前の管理]ダイアログボックスでLAMBDA関数の実体を見つけたとしましょう。しかし、そこには超絶難解な"再帰"が待っています。まさに、ダンジョンのラスボス的な存在です。"たびびとのふく"と"こんぼう"しか装備していないレベル1の勇者なんて瞬殺されます。それくらいの強敵です。

LAMBDA関数は確かにすごいです。でも、すべてのExcelユーザーに必須の関数ではありません。別に、使わなくても、幸せなExcelライフを過ごせます。こんな、上級者向けの難しいものに挑むより、まずはExcelの基礎を学んでください。
0049以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 12:39:14.668ID:e0jjfFt40
=BYROW(A1:A10,LAMBDA(a,SUM(a)))
↑スピル出来なかったSUM関数をスピル化した式
名前の管理を使う必要無し
0050以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 13:29:00.921ID:g5liQhM5M
もともと関数定義とか高階関数はなかったのか?
0051以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 13:40:59.766ID:WYwdUuVZ0
最初からSUMがLAMBDAでラップされていれば
=BYROW(A1:A10,SUM)と書けたのに
0052以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/02/11(金) 13:53:49.197ID:NCkiali30
>>37
オブジェクトも名前の管理にindirect入れてvlookupみたいにできるよ

検索して出るサイトには書いてないけど最後に呼び出したものを
表示する用のオブジェクトをドロップする時なぜか
Ctrl+vじゃなくて右クリックから貼りけないと動かないのと
最初にオプションでファイル内の画像を圧縮しないにチェックしないと
使うたびに画像が劣化するので注意
■ このスレッドは過去ログ倉庫に格納されています

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