m.tanaka (@chiquilin365) 's Twitter Profile
m.tanaka

@chiquilin365

ただのエクセル好きです。現在は堺市在住。
質問掲示板では主に「Chiquilin」と名乗ってます。
掲示板によっては別名で書いています。

なんでもエクセル
nandemo-xl.hatenablog.com
日々の思いついたことを記事にしていますが、内容は関数(数式)とパワークエリが多いです。

ID: 1306314306

linkhttps://nandemo-xl.hatenablog.com/ calendar_today27-03-2013 02:57:51

919 Tweet

145 Followers

96 Following

というすし屋🍣 (@yasudt3) 's Twitter Profile Photo

出題の趣旨は正規表現だと理解してチャレンジしてみました✨ 解は求められたものの、最適な正規表現なのかは、一考の余地がありそうな🤔 #Excel #Excelクイズ回答 #エクセルクイズ回答 #ExcelSolution

出題の趣旨は正規表現だと理解してチャレンジしてみました✨
解は求められたものの、最適な正規表現なのかは、一考の余地がありそうな🤔
#Excel
#Excelクイズ回答
#エクセルクイズ回答
#ExcelSolution
風柳 (@furyutei) 's Twitter Profile Photo

#エクセルクイズ 回答 REGEXREPLACEのreplacementにLAMBDAを指定できればなぁ…と思う類の問題かもです

#エクセルクイズ 回答
REGEXREPLACEのreplacementにLAMBDAを指定できればなぁ…と思う類の問題かもです
華月(かづき) (@kadukijob) 's Twitter Profile Photo

MMULTちらつかせていた癖に 途中でこんがらがった(立体回転苦手) &頭があまりうまく動いてないのと 魔が差したので懐かしい方法にしておきます😇

MMULTちらつかせていた癖に
途中でこんがらがった(立体回転苦手)
&頭があまりうまく動いてないのと
魔が差したので懐かしい方法にしておきます😇
というすし屋🍣 (@yasudt3) 's Twitter Profile Photo

並列の正規表現は順序が重要なんですね✨ ◆変更前 [^-\d]|-?\d|- ◆変更後 -?\d+|\D 最初に数字を探すことで、非数字は\Dのみで表現できました💡 #Excel #Excelクイズ回答 #エクセルクイズ回答 #ExcelSolution x.com/i/status/20504…

並列の正規表現は順序が重要なんですね✨

◆変更前
[^-\d]|-?\d|-
◆変更後
-?\d+|\D

最初に数字を探すことで、非数字は\Dのみで表現できました💡
#Excel
#Excelクイズ回答
#エクセルクイズ回答
#ExcelSolution
x.com/i/status/20504…
片田舎のおっさん、会計士になる (@accounting_jim) 's Twitter Profile Photo

昨日の数式をAIを使わず改良しました。きちんとロジックを整理してから書けば再帰でもすんなり書けますね。 #エクセルクイズ回答 #ExcelChallenge

昨日の数式をAIを使わず改良しました。きちんとロジックを整理してから書けば再帰でもすんなり書けますね。
#エクセルクイズ回答
#ExcelChallenge
y.yusuke (@y_yusuke_exc) 's Twitter Profile Photo

=LET(r,A:.A,SORT(UNIQUE(SCAN(,SORTBY(r,ROW(r),-1),MAX)),,-1)) 逆から最大を出して行き、unique関数で一意の数を出し並び替えるとしてみました。 #エクセルクイズ回答

mir (@mir_for_note) 's Twitter Profile Photo

ちょうどnoteでXLOOKUPネタを書いていたので、XLOOKUPの参照返しが使いたい!と思ったけど再帰頼りであまりスッキリしない式に。。 #Excelクイズ回答 #エクセル

ちょうどnoteでXLOOKUPネタを書いていたので、XLOOKUPの参照返しが使いたい!と思ったけど再帰頼りであまりスッキリしない式に。。
#Excelクイズ回答 #エクセル
m.tanaka (@chiquilin365) 's Twitter Profile Photo

私は「VLOOKUP関数でないとできない(XLOOKUPではできない)」がないなら、今から勉強する人がVLOOKUPを無理に覚える必要はないかなと思っています VLOOKUPはエラー対策にネストがいりますし、デフォルトの仕様が今の時代に合わないです

イネ (@ine_game) 's Twitter Profile Photo

こういうのに初めて挑戦してみました>< 他の方の回答を覗いてみたら、SCANを使うなら逆順からMAXを取ってUNIQUEをかければ良いという解法があって、使っている関数が近いだけに悔しさもひとしおと言うか…… 頭良い人達は凄いなぁ……><;;;

こういうのに初めて挑戦してみました&gt;&lt;

他の方の回答を覗いてみたら、SCANを使うなら逆順からMAXを取ってUNIQUEをかければ良いという解法があって、使っている関数が近いだけに悔しさもひとしおと言うか……

頭良い人達は凄いなぁ……&gt;&lt;;;;
m.tanaka (@chiquilin365) 's Twitter Profile Photo

それでは解答編です #ExcelChallenge #エクセルクイズ回答 この問題、下に同値の最大値があるかないかでやり方に制限が発生するんですが、そこを考慮しないなら =LAMBDA(範囲,UNIQUE(MAP(範囲,LAMBDA(x,MAX(x:TAKE(範囲,-1))))))(A:.A) のようなやり方で再帰計算を回避できます(別案はALT参照)

それでは解答編です
#ExcelChallenge #エクセルクイズ回答

この問題、下に同値の最大値があるかないかでやり方に制限が発生するんですが、そこを考慮しないなら

=LAMBDA(範囲,UNIQUE(MAP(範囲,LAMBDA(x,MAX(x:TAKE(範囲,-1))))))(A:.A)

のようなやり方で再帰計算を回避できます(別案はALT参照)
m.tanaka (@chiquilin365) 's Twitter Profile Photo

こっちも解答編です #ExcelChallenge #エクセルクイズ回答 私が用意していたのは下記です =LET( x,REGEXEXTRACT(A1,"[^-\d]+|[-\d]+",1), CONCAT(IFERROR(x+1,x)) ) =LET( f,LAMBDA(v,REGEXEXTRACT(A1,"\"&v&"+",1)), CONCAT(f("D")&IFERROR(f("d")+1,"")) ) 「\X」なんて知りませんし……

こっちも解答編です
#ExcelChallenge #エクセルクイズ回答

私が用意していたのは下記です

=LET(
  x,REGEXEXTRACT(A1,"[^-\d]+|[-\d]+",1),
  CONCAT(IFERROR(x+1,x))
)

=LET(
  f,LAMBDA(v,REGEXEXTRACT(A1,"\"&amp;v&amp;"+",1)),
  CONCAT(f("D")&amp;IFERROR(f("d")+1,""))
)

「\X」なんて知りませんし……
m.tanaka (@chiquilin365) 's Twitter Profile Photo

濁点半濁点の時点で海外の人には伝わらない問題かと 「難しい」というよりは「めんどう」な問題でした😅 #Excel #エクセルクイズ回答 引き返すのも嫌だったので進めましたが、多分MAKEARRAYを使うのがよさそうです

濁点半濁点の時点で海外の人には伝わらない問題かと
「難しい」というよりは「めんどう」な問題でした😅
#Excel #エクセルクイズ回答

引き返すのも嫌だったので進めましたが、多分MAKEARRAYを使うのがよさそうです
m.tanaka (@chiquilin365) 's Twitter Profile Photo

それだと最下行に余分な改行記号が残るので、このやり方でやるならいくつか追加の手順が必要になります =SUBSTITUTE(TRIM(REPT(REPT("●",E2)&" ",C2))," ",CHAR(10))

m.tanaka (@chiquilin365) 's Twitter Profile Photo

大昔に購入したやつが性能悪過ぎで、それ以来ずっと避けていたんですけど、タブレットPC用にBluetoothキーボードを購入しました すんごい便利

m.tanaka (@chiquilin365) 's Twitter Profile Photo

式で書くならこんな感じでしょうか = Table.FromColumns(List.Transform({3, 1, 5}, each List.Alternate(List.Skip(List.Combine(Table.ToRows(テーブル1)), _), 5, 1, 1)), Value.Type(テーブル1)) ただ同じ手順なら数式のほうが楽ですね =CHOOSECOLS(WRAPROWS(TOROW(テーブル1),6),4,2,6)

式で書くならこんな感じでしょうか
= Table.FromColumns(List.Transform({3, 1, 5}, each List.Alternate(List.Skip(List.Combine(Table.ToRows(テーブル1)), _), 5, 1, 1)), Value.Type(テーブル1))

ただ同じ手順なら数式のほうが楽ですね
=CHOOSECOLS(WRAPROWS(TOROW(テーブル1),6),4,2,6)