2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

Excel総合相談所 152

1 :名無しさん@そうだ選挙にいこう:2022/12/25(日) 07:38:10.99 .net
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

注意事項
・情報を隠すために別の問題を設定するのはやめましょう。たいていの場合その問題は的外れな設定で、期待していたものからずれた回答が返ってきます。

スレッド作成は>>980がやります

※前スレ
Excel総合相談所 151
https://mevius.5ch.net/test/read.cgi/bsoft/1664405768/

955 :954:2023/03/07(火) 09:44:53.68 .net
>>942
PowerQuery(以下「PQ」と略す)だと、こんな↓感じ。
https://i.imgur.com/uSpRl1j.png

便宜上、元の表は
・A、B、C・・・Hの列見出しを付けた。
・範囲名「R_Data」とした。

作成するステップの要点
https://i.imgur.com/1kdRElo.png
1. R_Dataの範囲から「データの取得と変換」でPQに取り込む。
2. クエリー名は「Q_ソートリスト」とした。
3. 作業列として、インデックスで「行番号」を振る。
4. 「行番号」以外の列をピボット解除 <---ここがミソ。縦長のリストに変換されるとともに、空欄は削除される。
5. 自動的に生成された、「属性」列は削除、「値」列は「並べた結果」に名前変更。
6. 「行番号」列も不要なので削除。
7. 「並べた結果」列を昇順ソート

以下、PQの詳細式
空のクエリー作って、詳細エディターに貼り付ければそのまま使える。
let
ソース = Excel.CurrentWorkbook(){[Name="R_Data"]}[Content],
変更された型 = Table.TransformColumnTypes(ソース,{{"A", type text}, {"B", type text}, {"C", type text}, {"D", type text}, {"E", type text}, {"F", type text}, {"G", type text}, {"H", type text}}),
行番号 = Table.AddIndexColumn(変更された型, "行番号", 1, 1, Int64.Type),
並べ替えられた列 = Table.ReorderColumns(行番号,{"行番号", "A", "B", "C", "D", "E", "F", "G", "H"}),
ピボット解除された他の列 = Table.UnpivotOtherColumns(並べ替えられた列, {"行番号"}, "属性", "値"),
名前が変更された列 = Table.RenameColumns(ピボット解除された他の列,{{"値", "並べた結果"}}),
削除された他の列 = Table.SelectColumns(名前が変更された列,{"並べた結果"}),
並べ替えられた行 = Table.Sort(削除された他の列,{{"並べた結果", Order.Ascending}})
in
並べ替えられた行

956 :942:2023/03/07(火) 09:48:00.79 .net
>>949
マクロ試しました。ありがとうございます。
試したところ0の値が消えてくれたのですが、
こうなると消えた部分の数式自体が削除される感じなのですね…

説明がわるく申し訳ないんですが、実際使用するときは「番号連結」シートに入力したA-1等の番号が途中から増減したり名称自体も変更される可能性があるため、数式で入れておいて一列並びの方も随時更新がかかるようになっていた方がありがたかったのですが、やっぱりフィルターかけとく方がいいのでしょうか…

>>952
勉強不足は本当にそうです…すみません…

957 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 10:09:14.33 .net
こういうのはTwitterあたりの変態さんが得意そうなイメージ…

958 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 10:21:42.71 .net
TwitterはExcel基地外が沢山いるからな。

959 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 10:23:06.54 .net
Excel2021なら一瞬なんだけどな
昔のバージョンの問題は解く価値感じないわ...

960 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 10:24:22.12 .net
>>951
>ネットで拾った式

それ1番やっちゃダメな事よ
ネットに転がってる式って大抵はメンテナンス性皆無だから。

961 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 11:19:15.30 .net
統合したら項目名のリストにならないだろうか

962 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 13:05:07.23 .net
>>960
横だけど、個人的な意見としては
解決の為にネットで拾う事自体はOKだと思う
ただ、その式を理解する必要はある
わからないまま使うのはNG

963 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 17:41:57.21 .net
番号連結シートに入力があるとリアルタイムで反映させたいというだけなら
無理に関数化しなくても
Private Sub WorkSheet_Changeで入力するごとにマクロを実行させたらいい
モジュールじゃなく番号連結シートに書くことに注意な

今は番号連結シートから関数で1列に並べているシートを
更に何かで空白だけ消したいと考えているようだが
そもそも1列で並べるところからマクロで出来る

964 :942:2023/03/07(火) 17:55:00.93 .net
>>954
教えてくださってありがとうございます
会社のPCでやろうとしたところPQのダウンロード自体が会社の都合でできず泣く泣く断念しました…

色々教えてくださったところ申し訳ないんですが、ひとまずはフィルターをかけて様子見することにします
お騒がせしました

>>963
僅差でありがとうございます
マクロの時点で一列に出せるんですね…無駄に関数にこだわってました
明日試してみます

965 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 17:55:42.47 .net
並べるところを関数にしたし
出来るなら空白の削除も関数にしたいなら
A-12やB-12を関数駆使して全部数字に変換してから
RANKで順位をつけて
INDEX-MATCHあたりで1位から順に並び替える
かなり長ったらしくてだるいがな

966 :963:2023/03/07(火) 18:01:06.59 .net
>>964
一応言っとくがマクロにそういう機能があるんじゃなくて
そういう機能を持ったマクロを自分で作るんだからな

967 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 19:42:13.48 .net
>>965
> INDEX-MATCHあたりで1位から順に並び替える
> かなり長ったらしくてだるいがな
他のはともかく、これはどうやるつもりなのかが気になる

968 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 21:13:46.18 .net
>>967
例えばアルファベット1文字+ハイフン+数字1〜9,999のデータを数字で表そうとするなら
A〜ZをFINDなどで1〜26*10,000に変換して元の数字に足すことで
データを10,001〜269,999の数字に変換したものが得られる
このとき元データが空白なら270,000以上に変換しておくことで
変換後の数字を昇順に並び替えるだけで
元データに置き換えた場合昇順の後に空白がくる並びが得られる

変換後のデータがA列なら
B列にRANK関数を入れ数字データを昇順でランク付け
C列にMATCH( ROW-定数, B列全体 , 0 )で
1行目に1位のデータの行番号、2行目に2位のデータの行番号…が得られるので
D列にINDEX(A列全体 , C列の値)で昇順の数字データを確保
E列にD列の数字データを変換前のデータに再変換する関数を入れて完了

969 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 21:42:58.33 .net
A-1とかは見るからにダミーデータだから実務じゃ無理でしょう

970 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 21:56:05.37 .net
>>969
データがあるならROW、空白なら行数の最大値へと変換すればいい
コピペだけじゃなく要求に合わせて改変するのも実務のうちだぞ

971 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 22:19:56.78 .net
>>968
なるほどな
まず、データそのものを変換する発想がなかったのもあるけど、作業列の事を視野に入れてなかったから謎だったw
色んなやり方があるな、参考になったよありがとう

972 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 22:37:49.55 .net
>>971
作業列と計算時間さえ無制限なら大抵のことはできちまうからな…すまんかった
関数は信じるけどマクロはボタンも触れないみたいな職場のおば様方以外には必要ないから忘れてくれ

973 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 23:00:41.49 .net
web版excel使えば?
関数2つで済むし作業列も不要

ネット環境ないPCなら無理だけど

974 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 23:02:57.93 .net
年収低い人は出てこないで

975 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 23:14:03.73 .net
普段365使ってるからこそ最新関数の便利さを知っているので365使えない民にはweb版を勧めている

976 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 23:23:40.16 .net
こういう時はweb版いいね
それかスプレッドシートでもいいと思う
古いエクセルとかもうアホらしすぎる

977 :名無しさん@そうだ選挙にいこう:2023/03/07(火) 23:23:47.03 .net
NGワード推奨
「年収低い人」

978 :名無しさん@そうだ選挙にいこう:2023/03/08(水) 06:50:14.72 .net
宝くじ当たって仕事やめました
年収ゼロだけど貯金2億です
恐いのはインフレで貨幣価値が下がることだけ

979 :名無しさん@そうだ選挙にいこう:2023/03/08(水) 08:07:03.08 .net
虚言癖のある子なんです。
許してやってください。

980 :名無しさん@そうだ選挙にいこう:2023/03/08(水) 08:13:26.92 .net
そろそろハロワに行く準備するぞ

981 :名無しさん@そうだ選挙にいこう:2023/03/08(水) 10:28:53.80 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel365
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

最近(今年入ってくらい?)エクセル起動時に背景画面や大きさが
正常に表示されていない現象が出てきたんですがなんか対処方法とかないでしょうか。
・表示は標準なのに印刷範囲外のようなグレーになる
・起動時85%が100%くらいの大きさになっていて、
 85%を引き延ばしたような状態のため文字がぼやけて見える

どちらも上下に転がしたり拡大縮小をすれば戻るのですが、
起動時になんでこうなるのかがわからず、同じ状況の方はいらっしゃらないかなと…。
複数PCで同じ状況になっています。

エクセルのハードウェアアクセラレーターのせいかと思っても
エクセル365の設定からは項目が消えているし何か対処方法ありましたらよろしくお願いします。

982 :名無しさん@そうだ選挙にいこう:2023/03/08(水) 10:36:33.90 .net
高卒はカンベン

983 :名無しさん@そうだ選挙にいこう:2023/03/08(水) 17:40:45.69 .net
NGワード
「高卒は勘弁」

984 :名無しさん@そうだ選挙にいこう:2023/03/08(水) 19:34:24.50 .net
>>981
この現象は、エクセルの表示設定に関する問題かもしれません。以下の方法で解決することができます。

エクセルの表示設定を確認する
エクセルの「表示」タブにある「ウィンドウのグループ化」の設定が、
問題を引き起こす原因となることがあります。この設定がオンになっている場合、
エクセルの起動時にウィンドウが最大化され、グレーアウトした表示がされることがあります。
この場合、以下の手順で設定を変更してください。
「表示」タブを選択し、「ウィンドウのグループ化」をクリックします。
「ウィンドウのグループ化」をオフにします。
エクセルの表示倍率を変更する
エクセルの表示倍率が異常になっている場合、文字がぼやけて見えたり、
画面が拡大されたりすることがあります。この場合、以下の手順で設定を変更してください。
「表示」タブを選択し、「ズーム」をクリックします。
表示倍率を適切な倍率に変更します。
エクセルの再インストールを試す
エクセルの設定を変更しても解決しない場合、エクセルを再インストールしてみてください。
再インストールによって、設定がリセットされ、問題が解決されることがあります。
以上の方法で問題が解決しない場合は、マイクロソフトのサポートセンターに問い合わせることをお勧めします。

985 :名無しさん@そうだ選挙にいこう:2023/03/08(水) 23:52:36.85 .net
質問です、お願いします
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Office365
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

開始日と終了日の○年や○か月丁度かどうかを判定したいです
丁度かどうかは、2022/1/10-2023/1/10という同じ日付じゃなく、2022/1/10-2023/1/9、3/8-4/7、1/1-12/31のようなのを丁度と判定したいです
判定結果は丁度ならTruer、丁度じゃなければFalseで返したいです

開始日:A2、終了日:B2
=IF(B2=EDATE(A2,(DATEDIF(A2,B2+1,″M″)))-1,TRUE,FALSE)
で試したのですが3/1開始にすると閏年が判定されず
もっとスマートな方法があるんじゃないかと

ご教示ください

986 :名無しさん@そうだ選挙にいこう:2023/03/08(水) 23:54:10.52 .net
>>985
開始日と終了日の「期間で」です
期間でがぬけてました

987 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 00:10:40.97 .net
テストパターン書いてよ
答える前に確認したいから

988 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 00:13:36.89 .net
=OR(B2=EDATE(A2,SEQUENCE(100))-1)

989 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 00:32:21.76 .net
前日の12か月後?
=B2=EDATE(A2-1,12)

990 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 01:12:02.36 .net
=DATEDIF(A2-1,B2,"md")=0

991 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 05:07:06.51 .net
EDATEって何気に有能だと思わね?
年と年度の調整とかに有能

992 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 07:48:00.09 .net
985です
>>988-990
ありがとうございます
後で試してみます

>>987
985と一部被りますが
開始日:終了日:望む結果
2022/1/10:2023/1/10:False
2022/1/10:2023/1/9:True
2022/3/8:2022/4/7:True
2022/3/8:2022/4/20:False
2022/1/1:2022/12/31:True
2024/1/1:2024/2/29:True
2023/3/1:2024/2/29:True
2023/3/1:2024/2/28:False
2022/3/1:2023/2/28:True
2023/3/31:2023/6/29:True
2023/3/31:2023/6/30:False

993 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 07:50:06.32 .net
>>980
次立てました

Excel総合相談所 153
https://mevius.5ch.net/test/read.cgi/bsoft/1678315752/

994 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 08:16:12.73 .net
>>993
スレ立て乙です
ありがとうございます!

995 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 13:09:37.91 .net
>>992
それなら訂正
=LET(a,EDATE(A2,SEQUENCE(100)),OR(B2=a-(DAY(A2)=DAY(a))))

996 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 15:30:48.35 .net
ハロワでなに探すんだよ?
Excelの仕事?

997 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 16:59:47.09 .net
まだ探す気ですか
それより踊りませんか

998 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 17:21:17.73 .net
>>992
=B2=EDATE(A2,DATEDIF(EOMONTH(A2,0)+1,EOMONTH(B2+1,0)+1,"M"))-1

999 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 18:02:20.72 .net
まだやっていたの?
暇なんか?

1000 :名無しさん@そうだ選挙にいこう:2023/03/09(木) 18:12:35.10 .net
まあええわほんまに

1001 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1001
282 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200