X



Excel総合相談所 150

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@そうだ選挙にいこう
垢版 |
2022/06/10(金) 20:22:53.87
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

注意事項
・情報を隠すために別の問題を設定するのはやめましょう。たいていの場合その問題は的外れな設定で、期待していたものからずれた回答が返ってきます。
※前スレ
Excel総合相談所 148
https://mevius.5ch.net/test/read.cgi/bsoft/1643843984/
Excel総合相談所 149
https://mevius.5ch.net/test/read.cgi/bsoft/1647570025/
0238名無しさん@そうだ選挙にいこう
垢版 |
2022/07/13(水) 10:52:37.00
>>237
早速の返答ありがとうございます。

このやり方だとコード別でまとめて右側に結果表示だけされてしまう気がするのですが
個人的には元の重複したコードのあるリスト1番目の右側にどんどん列を足していくような形にしたいのですが
この方法でも結果的にそういう風に出来たりするのでしょうか?
0240名無しさん@そうだ選挙にいこう
垢版 |
2022/07/13(水) 17:37:45.65
>>239
作業列可なら
1 idと重複数でキーを作るz2_3とか
2 二番目の表で一番目の表の一行下の範囲でキーを検索してデータ抽出
3 三番目の表は二行下の範囲で同様に抽出
0241名無しさん@そうだ選挙にいこう
垢版 |
2022/07/14(木) 02:41:56.79
縦10行、横x列のセルにそれぞれ数値が入力されています(xは任意の整数)。各行で最大値を抽出したいです。
=max(1:1)を下方向にオートフィルすればできると思いますが、スピルでやる方法があれば教えてください。
できればラムダは無しでお願いします。
0242名無しさん@そうだ選挙にいこう
垢版 |
2022/07/14(木) 10:11:16.33
>>239
COUNTIF関数でIDの登場回数をカウント
→countif($A$1:A1,A1) 等で下にフィルする
パワクエで登場回数2だけ右隣に抽出
パワクエで登場回数3だけ更に右隣に抽出
パワクエで(以下略)


Filter関数が使えればもっと楽なんだろうが
0243名無しさん@そうだ選挙にいこう
垢版 |
2022/07/14(木) 11:46:36.38
>>241
できん事はないけど、lambda使わないと
10行分それぞれ指定するような、くそだっさい式になるよ
(計算は自動でいけるけど)
0245名無しさん@そうだ選挙にいこう
垢版 |
2022/07/14(木) 17:48:01.90
そんなの言い出したらVBAも同じだと思うけどな
最近の新関数は下手すりゃVBAよりすっきり書ける場合がある
0249名無しさん@そうだ選挙にいこう
垢版 |
2022/07/14(木) 21:42:36.60
詳しい方教えてください
下記条件をピックアップできる関数を探しています。

№  種類    名前
1  八百屋   Aさん
2  魚屋     Bさん
3  肉屋     Aさん

Aさんが担当する「№」を関数で自動的に表示させたい
例えば上記表でAさんが担当する番号(1,3)をセルに表示させたいのです。

逆にBさんにすれば、番号2を表示できるととてもうれしいです
0251名無しさん@そうだ選挙にいこう
垢版 |
2022/07/14(木) 22:59:16.73
こんばんは。下記のことができないか相談させてください。

A列には市町村名が入力されており
B列には各市町村の名産品が入力されています。

そこでCセルにはA市○○と住所を入力するのですが
A市の住所が一部含まれているときには、DセルにはA市の名産品が表示されるようにはどうしたらいいでしょうか?


A列  B列          Cセル                Dセル

A市  A市トマト      市町村の住所を入力   各住所が含まれた名産品が自動表示
B市  B市ナス                           (CセルにA市の住所がふくまれていればトマトが表示、B市ならナスが表示)
C市  C市キャベツ
0254249
垢版 |
2022/07/15(金) 09:00:49.81
>>250さま
ありがとうございました。
後出しになって申し訳ございませんが私のExcelバージョンが2013であるため、
フィルターが使えないようでした。
代替の関数はあるでしょうか
0255名無しさん@そうだ選挙にいこう
垢版 |
2022/07/15(金) 12:28:11.22
>>248
=LET(開始,【表の左上セル番地】,列数,COLUMNS(【どこでもいいので列数がわかる範囲】),CHOOSE(SEQUENCE(10),MAX(OFFSET(開始,0,0,1,列数)),MAX(OFFSET(開始,1,0,1,列数)),MAX(OFFSET(開始,2,0,1,列数)),〜以下略

もっといい方法あるかもしれないけども。
0256名無しさん@そうだ選挙にいこう
垢版 |
2022/07/15(金) 14:54:36.83
=CHOOSE(SEQUENCE(10),MAX(1:1),MAX(2:2),略,MAX(10:10))
0257名無しさん@そうだ選挙にいこう
垢版 |
2022/07/15(金) 17:33:42.22
他のデータが入ってないならそれでいけますね
0259名無しさん@そうだ選挙にいこう
垢版 |
2022/07/15(金) 22:37:41.70
どうかよろしくお願いします

【1 OSの種類         .】 Windows*10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

249 名前:名無しさん@そうだ選挙にいこう[] 投稿日:2022/07/14(木) 21:42:36.60
詳しい方教えてください
下記条件をピックアップできる関数を探しています。

№  種類    名前
1  八百屋   Aさん
2  魚屋     Bさん
3  肉屋     Aさん

Aさんが担当する「№」を関数で自動的に表示させたい
例えば上記表でAさんが担当する番号(1,3)をセルに表示させたいのです。

逆にBさんにすれば、番号2を表示できるととてもうれしいです
0260名無しさん@そうだ選挙にいこう
垢版 |
2022/07/15(金) 23:57:07.72
日付+文字列のセルを作りたいのですが、
=TODAY()&"が今日の日付"
という風なセルを作ると、日付が44757になってしまいます。
https://i.imgur.com/Fvr9c8N.png
セルの書式設定はきちんと日付になっております。
https://i.imgur.com/EKA008S.png
=TODAY()だけならきちんと日付が表示されます。

解決法ないでしょうか?宜しくお願い致します。
0262名無しさん@そうだ選挙にいこう
垢版 |
2022/07/16(土) 00:14:16.66
>>261
ありがとうございます!
日付の間にアンダーバーを入れたいのですが、
yyyy_mm_dd
という風に入れるとアンダーバーが認識されず半角スペースになってしまいます。
そちらをyyyy_mm_ddとして出す方法ないでしょうか?(今日だと2022_07_16で出したい)
0270名無しさん@そうだ選挙にいこう
垢版 |
2022/07/16(土) 21:59:45.22
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Office365
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ExcelVBAでOutlookメールを作っているのですが
本文1(リンクあり)
画像1
本文2(リンクあり)
画像2
本文3
のようなメールを作りたいです

Bodyの中に画像を入れる方法がわからなくて1行ずつ書きましたが
その方法だとリンクを入れる方法がわかりません
本文はExcelシートに書いてあってForで1行ずつBodyに加えていく
あるいはtype textで書いてます
本文は複数行あり、文字色を変えたり、太字にする必要もあります
今はA列に本文1や画像1やリンク1といったキーワード
B列に実際の本文を入れてます
Excel VBAのみで作りたいです

よろしくお願いします
0271名無しさん@そうだ選挙にいこう
垢版 |
2022/07/17(日) 00:11:48.99
下記の表がありまして、C列に住所を番地まで入力します。
その後にD列に青森県であれば青森県事務所と入力することになります。

そこでD列に関数をいれて都道府県名の一部が一致すれば自動的に
該当する○○県事務所にしたいと考えています。


C列に入力すると、A列の単語を検索し、B列の単語をD列に表示させたい感じです。
(青森県の住所が入力されれば青森県がヒットすれば、青森県事務所が選ばれる)

   A列          B列         C列(住所を入力)     D列(ここに関数をいれて自動表示させたい)
1 青森県    青森県事務所   青森県八戸市       青森県事務所
2 秋田県    秋田県事務所   岩手県盛岡市       岩手県事務所
3 岩手県    岩手県事務所   宮城県仙台市       宮城県事務所
4 宮城県    宮城県事務所   福島県郡山市       福島県事務所
5 福島県    福島県事務所   秋田県男鹿市       秋田県事務所


【1 OSの種類         .】 Windows*10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
0272名無しさん@そうだ選挙にいこう
垢版 |
2022/07/17(日) 01:35:19.75
市町村でなく都道府県なら
=IFERROR(INDEX(B:B,MATCH(LEFT(C1,3),A:A,0),INDEX(B:B,MATCH(LEFT(C1,4),A:A,0))
0273名無しさん@そうだ選挙にいこう
垢版 |
2022/07/17(日) 06:04:59.86
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

金種計算のようなことをしたいのですが、
実際の金種と違って割りたい数が(120,100,80,60)です。

A1セルに140と入力したら
80が1つと60が1つというような結果を求めたいのです。
しかし単純に除余算しようとすると、
最初に120で割ってしまうため120が1つで余り20となり、割れる数なしという結果になります。
綺麗に割り切れるようにこなすのは可能でしょうか?
0274名無しさん@そうだ選挙にいこう
垢版 |
2022/07/17(日) 06:31:54.42
>>272
ご対応ありがとうございます。
一覧としては市町村名もありえるので、C列内の検索一致性を部分検索にできるでしょうか。
下記のように一致させたい単語がどの位置にあってもヒットさせるようにしたいです

○○○青森県○○○
青森県○○○○○○
○○○○○○青森県
0276名無しさん@そうだ選挙にいこう
垢版 |
2022/07/17(日) 11:30:27.31
全探索アルゴリズムなら関数でも
0277273
垢版 |
2022/07/17(日) 12:54:01.08
ありがとうございます。
テンプレでVBA否にしてましたが、
VBAで実装するとしたらどのようになるのでしょうか?
かなり難しいものでしょうか?
0278名無しさん@そうだ選挙にいこう
垢版 |
2022/07/17(日) 13:43:17.31
VBAの知識よりアルゴリズムを作るのが先

例えばお前さんがやりたい事が全パターン網羅出来る計算式を組むにはどうしたらいいか紙と鉛筆を使って規則化するんだよ
0279名無しさん@そうだ選挙にいこう
垢版 |
2022/07/17(日) 13:43:39.61
>>274
それは無理だと思う
仮にできたとしても「県」という単語で複数ヒットすることになる

他のやり方だったら作業列使えばやれんこともないが、A列の行数分の作業列が必要
Excel2021か365ならスピル使って作業列無しでいけそうなんだが
0280名無しさん@そうだ選挙にいこう
垢版 |
2022/07/17(日) 16:01:40.51
>>273
VBAでも数式でもそんなに難しくはないけど、条件が足りない
たとえば160は「100+60」「80+80」など複数のパターンが見つかるが、どうやって1つを選ぶのか
正解がない場合、たとえば150は割り切れないけどどうするのか
0282名無しさん@そうだ選挙にいこう
垢版 |
2022/07/17(日) 19:21:33.91
「Libre Office Calc」のコピペ方法について教えて下さい。

「Libre Office Calc」をexcelの代わりに使っています。


1行から10行まで10個の文字列があったとします。

その場合、それ(10個の文字列)を貼り付けると、通常は、1行目がA1、2行目がA2、3行目がA3に貼り付けられると思います。

そうではなく、「2行」空いた状態で貼り付けたいのです。
1行目はA1、2行目はA4、3行目はA7、というふうにです。


「Libre Office Calc」はexcelより高性能なのでたぶんできる設定があるかと思うのですが、やり方が分かりません。


表計算ソフトに詳しい方、教えて頂けると幸いです。
よろしくお願い致します。
0286名無しさん@そうだ選挙にいこう
垢版 |
2022/07/18(月) 13:36:20.15
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel for Microsoft 2019
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

あるエクセルファイルAを事務処理中に、開きたいxlsxファイルBのシートがあるがそのファイルを開けるまえに、BファイルのシートのリストをAのユーザーフォームにリスト表示させて、リストを選ぶと、Bのシートが開く。
ていうコードを書きたいのですが、アドバイスをお願いします。
0288名無しさん@そうだ選挙にいこう
垢版 |
2022/07/18(月) 16:34:18.18
ありがとうございます。
リストはこんなイメージです。
ユーザーフォームに表示された、シート名を選択(クリック)したら、そのシートが開きます。
どうでしょうか。。

ttp://officetanaka.net/excel/vba/tips/142-01.png
ttps://samurai-blog-media.s3.ap-northeast-1.amazonaws.com/blog/wp-content/uploads/2017/11/listbox03.jpg
0290名無しさん@そうだ選挙にいこう
垢版 |
2022/07/18(月) 17:46:57.68
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel 2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

式の見方について教えてください
=if(c1>0,vlookup(c1,単価,2,true),"")という式において
別シートの単価を参照しているというのは分かったのですが、単価!という表記ではなく
単価となっています。また、式を選択して単価シートを開くと青い線で範囲が指定されています
この青い線を広げたいのですがどうすればいいのでしょうか?拙い説明で申し訳ありません
0291名無しさん@そうだ選挙にいこう
垢版 |
2022/07/18(月) 17:56:54.44
数式タブ→名前の管理で単価の定義を編集
0293名無しさん@そうだ選挙にいこう
垢版 |
2022/07/18(月) 19:13:58.23
>>289
思いついただけだけど、
Bブックのコメントプロパティにシート情報を記録して、これを閉じたままAブックから読み込んでユーザーフォームに反映させるのはどうかな?

参考
OfficeTANAKA ブックのドキュメントプロパティを操作する
0294名無しさん@そうだ選挙にいこう
垢版 |
2022/07/18(月) 20:40:11.76
sumif関数で
=sumif(g1:g7m,$a$1,e1:e7)
ってな感じので a1に入るものを変えたいんですが、Bチーム 空白 * の3つを入れても
動作するにはどうすればいいですか?*はアスタリスクなので、Bチームだろうが空白だろうが
ヒットさせて=sum(e1:e7) と同じ処理をして欲しいってことです。
0296名無しさん@そうだ選挙にいこう
垢版 |
2022/07/18(月) 22:06:53.47
>>295
すみません。やってみたのですが、本来は

=SUMIF(INDIRECT($G$1&$B7&":"&$G$1&$C7),$A$1,(INDIRECT(I$1&$B7&":"&I$1&$C7)))

って感じだったのですが、ややこしいのでindirect抜かして書いたのを書き直したら

=SUMIF(INDIRECT($G$1&$B7&":"&$G$1&$C7),IF($A$1="*","<>",IF($A$1="",0,)),(INDIRECT(I$1&$B7&":"&I$1&$C7)))

で動作せず長くてわけがわからなくなりました。
どこが悪いんですかね
0297名無しさん@そうだ選挙にいこう
垢版 |
2022/07/18(月) 23:14:55.42
>>286
1.ファイルAを開いている
2.Bファイルのシートのリストを取得
3.Aのユーザーフォームにリスト表示させる
4.リストを選ぶと、Bのシートが開く。

2と3の間で、ユーザーフォームを開くと同時に、Bを開いてリストを取得する
0299名無しさん@そうだ選挙にいこう
垢版 |
2022/07/19(火) 20:21:30.09
【1 OSの種類         .】 Windows10 64bit Pro
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ(やり方を見れば使えそう)
【4 VBAでの回答の可否】 可
現在、2つの列の行の値が一致してるかのチェックを行っているのですが、
行の一致を確認する方法で悩んでおります。
行列は以下のようになっており、チェックを行うのによい方法はありませんでしょうか?
シート1
商品番号,管理番号
000005,AA-0001
000006,CD-0002
000010,ND-0004
001000,AB-0010
100001,BC-0145
シート2
商品番号,管理番号
000005,AA-0001
000006,CD-0002
000007,AA-0003
000009,AA-0001
000010,ND-0004
001000,AB-0010
057410,KK-1044
100001,BC-0145
101100,AA-0001
102134,WQ-0123
のように、シート1では行が入っていなかった000006~10の間などに行が入っており、
単純比較のexact関数を使用しての比較ができませんでした。
また、管理番号は重複する場合があり、重複している管理番号を抽出する方法も検討しています。

Vlookupを使用し比較も検討したのですが、形にまとまりませんでした。
シート1,2の行単位の比較だけもよいので、何か良い案はありませんでしょうか?よろしくお願いします。
0300名無しさん@そうだ選挙にいこう
垢版 |
2022/07/19(火) 21:34:55.45
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel 2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

シートが20あって各シートのA1~B10セルに値が入っています
それを別のシートにてピボットテーブルで
各セルの平均値(A1ならシート1~20のA1セルの平均値)を取得したいのですがどうすれば良いでしょうか
0302259
垢版 |
2022/07/19(火) 23:04:38.34
>>268
行数が多いため、下記の場合、D5、D6と作成していくのが非常に苦労します
関数上、簡潔にできないでしょうか
=SUBSTITUTE(TRIM(CONCATENATE(D2," ",D3," ",D4))," ",",")
0304名無しさん@そうだ選挙にいこう
垢版 |
2022/07/19(火) 23:54:42.22
教えてくださいな
セルの中で○○○が含まれている場合は何々するという関数を使っています、
ただ、そのセルの中が関数の場合は、○○○という内容ではないため関数を返すことができません。
関数の結果をもって関数で返すにはどうすればいいのでしょうか?
0306名無しさん@そうだ選挙にいこう
垢版 |
2022/07/20(水) 00:14:22.23
>>305
セルの中が1であった場合は、何々するという場合、
そこを参照しているセルが=2-1だとしても認証するということでしょうか?
0307名無しさん@そうだ選挙にいこう
垢版 |
2022/07/20(水) 00:20:43.03
>>306
エクセルに認証なんて概念はない
おそらくあなたは、PCには強いけどエクセルは使い始めたばかりだと感じます
スクリーンショットなどをあげてくれれば解決できると思いますよ
0311名無しさん@そうだ選挙にいこう
垢版 |
2022/07/20(水) 12:10:36.94
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Office365
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
Aのセルの行に以下の数値があるとします。
100の行を基準に何回切り下がっているかを求める関数を知りたいのですが
どのように関数で組めばよいでしょうか?
1:100 ※基準値(この行に関数をセット)
2:80 ※切り下がり1回目
3:60 ※切り下がり2回目
4:60 ※同値のため切り下がり2回目
5:30 ※切り下がり3回目
6:50 ※ここで切り上がっているのでセットした関数の値は3になる
7:20
8:80
0313名無しさん@そうだ選挙にいこう
垢版 |
2022/07/20(水) 12:56:11.35
=LET(
a,MATCH(FALSE,A1:A7>=A2:A8,0),
b,FILTER(A1:A8,ROW(A1:A8)<=a),
ROWS(UNIQUE(b))-1)
0314名無しさん@そうだ選挙にいこう
垢版 |
2022/07/20(水) 18:21:14.91
一旦リセットとしてシートを全部表示にした後
いくつかのシートを非表示にするというマクロを
For Each ~nextで作ったんですがエラーが出て動きません

全部表示というループが終わったら次の作業へ以降するのはどう書けばいいんでしょうか
0316名無しさん@そうだ選挙にいこう
垢版 |
2022/07/20(水) 21:45:43.51
マクロのボタンを2つ作成しました
1つめはtxtデータを取り込むマクロのボタン
2つめは少し手で加工した後に、要らない部分を消去してCSVで吐き出すボタン

何故か2つめのボタンが1つめのボタンを押した後に消えてしまいます・・
0318316
垢版 |
2022/07/20(水) 22:08:27.20
なんとか解決しました。失礼しましたm(_ _)m
0319名無しさん@そうだ選挙にいこう
垢版 |
2022/07/20(水) 22:46:30.13
【1 OSの種類         .】 Windows10/11
【2 Excelのバージョン   】 Excel2016/365
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

windows(KB5015807)のセキュリティ更新プログラムアップデートがあってから
ブックを開く動作のマクロを含んでいると、保存不可やオートメーションエラーが発生します。
該当箇所のマクロを削除しても個体差があるようで、保存できるPCとできないPCがあります。

何か知っている方いましたら、知恵をお貸しください。
0320319
垢版 |
2022/07/20(水) 23:25:10.69
書き込むスレを間違えてしまいました。取り下げます。
0322名無しさん@そうだ選挙にいこう
垢版 |
2022/07/21(木) 08:22:43.77
別に難解とかではない
ステップ毎に作業列へ数式を入れていけば簡単になる
それを作業列を使わずに一発の数式でやってるから難解に見える
0323名無しさん@そうだ選挙にいこう
垢版 |
2022/07/21(木) 12:22:04.63
なぜ今日になって描画系のバグが発生した。
Excelファイルと使ってる、急にシートを切り替えたりセルを移動しても描画が止まったままになるバグ
セルの値は変わってるのだが描画だけが止まったままで見えない
なんなんだこのバグは
だれか似たようなバグ心当たりない?
0325名無しさん@そうだ選挙にいこう
垢版 |
2022/07/21(木) 13:02:54.26
>>322
だよな。
自分の職場じゃ上のネスト多用は「組み合わせ一発芸」と呼ばれているわ。
必ず作業列を作る派と一発で計算する派に分かれてはいるけど。
0331名無しさん@そうだ選挙にいこう
垢版 |
2022/07/21(木) 14:32:38.09
うちもマクロ含みExcelの描画が更新されなくて仕事が止まってる。
HB2019だけどこれは実質365なんでしたっけ。
0332331
垢版 |
2022/07/21(木) 14:42:39.80
元々入ってなかったTeams 入れて抜いたら治りました。お前か。
0336名無しさん@そうだ選挙にいこう
垢版 |
2022/07/21(木) 19:53:24.16
重くたっていいじゃない
エクセルだもの
みつよ
0337名無しさん@そうだ選挙にいこう
垢版 |
2022/07/21(木) 19:55:24.42
>>334
スピルが軽い気がするけどどうじゃろ?
■ このスレッドは過去ログ倉庫に格納されています

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