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/

424 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 19:57:10.90 .net
エクセルで
1枚目のシートの
A列に A〜Z+1〜26の ランダムな文字列 (例 A3にG20、A6にD4とランダム)
B列に 1〜200までのランダムな数字 (例 B3に198、B6に54) 

が入っているときに、

2枚目のシートで
1枚目A列で指定したセルに、1枚目B列の数字を自動で出てくるようにするにはどうしたらいいですか。

例えば
1枚目A1にG20、B1に125 なら
2枚目 G20のセル に 125

1枚目A6にM3、B6に22なら
2枚目 M3のセル に 22

とでるようにしたいのです。

また、1枚目のA列に対応するセルがなければ 2枚目のセルは何も表示されないようにしたいです。

例えば1枚目A列に B2がなければ 2枚目B2は何も表示されない状態にしたいです。

ご回答よろしくお願いいたします。

425 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 20:21:54.84 .net
Excel 2016版で一見IFS、SWITCH関数が追加されたように見えて
実は「サブスクライバー限定」というトラップがあるのか。

IFS関数やSWITCH関数など利用できない関数がある
https://pcclick.seesaa.net/article/453492468.html

旧Office 365 SoloとかのExcelでなくて、
単体買い切り版のExcel 2016だと新関数は追加されなかった?

426 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 20:26:27.17 .net
>>422
IFSとSWITCHを使えないため、条件に応じてC列に値を入力するには、IF関数を使用することができます。次のように入力します:

C1: =IF(A1="○" & B1="□", "OK", IF(A1="○" & B1="△", "NG", ""))

このIF関数を、C列全てにコピーします。

427 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 20:29:31.37 .net
>>424
Excel の 2 枚目のシートには、1 枚目のシートからの情報を参照するための「関数」を使用します。以下は例です:

2枚目 シート の 任意のセル(例:A1)に次のコードを入力します:
=VLOOKUP(A1, Sheet1!A:B, 2, FALSE)

このコードは、1 枚目のシートの列 A に対応する値を検索し、その値に対応する B 列の値を返します。

A1 セルをコピーして、2 枚目のシート内の他のセルにペーストします。

これにより、2 枚目のシートに 1 枚目のシートからのデータを参照することができます。もし 1 枚目のシートに対応するセルが存在しない場合、「#N/A」エラーが表示されます。

428 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 21:15:55.43 .net
1桁と2桁の日付が混在しているので
並べ替えるとこんな風になってしまいます
データはこのままで正常に並べ替える方法はありますか?
ひとつのセルの中に年月日と時間が入力されてます
2022年10月9日 21時23分
2022年1月29日 17時25分
2022年1月2日 19時41分
2022年1月30日 16時25分
2022年1月3日 12時35分

429 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 21:34:40.49 .net
>>428
このようなデータを正しく並べ替えるためには、日付情報をExcelの「日付」型に変換することが必要です。以下の手順を実行してください:

セル内の日付と時間を文字列として選択します。
右クリックして「書式セル」を選択します。
「日付」または「日付時刻」を選択します。
「OK」をクリックします。
日付列を選択して、「並べ替え」を選択します。
これで、日付を正しく並べ替えることができます。

430 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 21:39:08.52 .net
>>422
組み合わせが12通りなら
OK/NGの組み合わせをあらかじめ書いといて
それをvlookupなどで拾うのはどうかと。
d列に文字の組み合わせ、e列に判定を書いたとして
c列に入れる関数としては

=vlookup(A1&B1,D1:E12,2,false)

431 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 21:39:36.20 .net
既存のテーブルにパワークエリを設定する方法はある?

432 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 21:42:02.56 .net
>>431
はい、パワークエリを既存のテーブルに設定する方法があります。具体的には、次の手順を実行することで実現できます:

テーブルを開く
"クエリの作成" オプションを選択する
クエリのタイプを "パワークエリ" に設定する
クエリの設計ウィンドウで、使用するテーブルを選択する
必要なフィールドを選択し、必要な条件を設定する
クエリを保存する
このようにすることで、既存のテーブルにパワークエリを設定することができます。

433 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 21:43:36.31 .net
>>423
少なくともお前よりはAIの方がコミュニケーション能力あるな

434 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 21:44:42.28 .net
expand関数はどういった時に使えば良いですか?
使い道が思いつきません。

435 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 21:46:28.81 .net
>>434
expand 関数は、疑似要素(例えば :before、:after)が生成するボックスを持つ要素に対して使用すると役立ちます。これにより、疑似要素が生成するボックスが要素の外側に拡大することができます。

436 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 21:47:16.17 .net
>>432
GPTさんありがとう

437 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 21:48:35.28 .net
>>436
どういたしまして。お力になれてうれしいです。

438 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 21:49:43.84 .net
全てAIに任せるとスレが荒れなくて良いな

馬鹿だ馬鹿だと言いたい奴の出番が無くなるw

439 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 21:51:09.45 .net
会社での行動や発言もAIに任せたいな。。
すぐに役員くらいになれそうw

440 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 22:26:42.28 .net
Gptは最新関数知らないはず
Byrow関数とかも実装されてませんとか言われた

441 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 22:36:27.93 .net
>>440
はい、GPT-3 トレーニングデータのカットオフポイントが 2021 年になっていますので、2022 年以降の最新関数については知らない場合があります。 また、GPT-3 トレーニングデータには、特定の関数に特化したトレーニングデータが含まれていない場合があります。

442 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 23:06:29.71 .net
この先は有料ってコトっすね…

443 :名無しさん@そうだ選挙にいこう:2023/01/30(月) 23:25:15.94 .net
AIに任せてるのが荒らしなんだよなぁ

444 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 06:09:53.36 .net
と荒らしが申しております

445 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 06:13:17.32 .net
>>434
Microsoft Excelには、Expand関数というものはありません。Excelの関数リストを見ても、このような関数は見つかりません。

代わりに、以下のような代替手段があります。

列の幅を手動で拡大する
「自動調整列幅」の機能を使う
セル内の数式を「ワードラップ」する

例:A1セルに「こんにちは世界」というテキストが入っている場合、
A1セルを選択して、「列」メニューから「自動調整列幅」を選択すると、
列幅が自動的に調整されます。

446 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 06:42:45.81 .net
全て質問者は零細です

回答してるのも罵声を浴びせてるのも零細です

なんて決め付けてる馬鹿おるね?

447 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 06:59:51.92 .net
>>434
統合機能使うにあたっての下処理とかかな?
マクロ使わずにセルやカラム挿入できるから、
あるシートを元に帳票作成みたいなことする中間処理に役立ちそう

>>445
これ張ってて荒らしじゃないは無理あるだろ

448 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 09:04:25.77 .net
AIは荒らしにも勝つのか
すごい時代だw

449 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 11:17:49.50 .net
【1 OSの種類         .】 Windows11 Pro x64
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

A1:A5に1~5の数字を並べて入れて
A1の1をクリックすると①になり、2をクリックすると①は1に戻って②になる、
ただし○数字をクリックするとキャンセルとなって○なし数字になるというようにしたいです

分かりやすくいうと
1~5まで○数字が全て入ってない状態か、どれか一つが○数字という状態です
(キャンセルするには○数字をクリックする)

それをA1:A5~E1:E5、A6:A10~E6:E10のように
並んだセルの1から5までのうちの一つの選択をアンケートみたいに
同じようにしたいです

一つのセルの選択解除はここにありましたが
上記をシンプルにできれば大変助かります<(_ _)>
ttps://chocogon.com/exceldoubleclick

450 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 12:12:54.96 .net
>>448
いいえ、AIは荒らしを防ぐためのツールとして使われていますが、完全に荒らしを防ぐことはできません。人間の意図的な攻撃や巧妙な手法に対しては弱いこともあります。そのため、AIと人間の調整や協力が必要な場合もあります。

451 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 12:48:03.03 .net
>>450
その返し秀逸ですきw
これから平和になるなぁ

452 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 12:51:01.87 .net
>>451
ほんと
ここで馬鹿馬鹿
零細だなんだと暴言吐いてる奴よりも人間性が高いという皮肉www

453 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 13:01:22.95 .net
CHATGPTの口調が特徴的なおかげで簡単に成りすませるな

454 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 13:02:31.84 .net
>>452は俺同様自身を省みられない残念な子

455 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 14:59:42.34 .net
バカって言うヤツが1番バカなんだよ? 知らなかったかい?

456 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 15:32:59.78 .net
CHATGPTってヤバすぎるな。
でも頭の固いジジババはこういったテクノロジーを否定するんだろうな。

457 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 16:41:59.07 .net
A2,B2,C2になんか式が入ってて計算結果表示してて
D2には計算式A2&B2&C2が入ってる
A2,B2,C2の1個でも#N/A状態だとD2も#N/Aになるけど
#N/Aの所だけ#N/Aにしたい
簡単にできる?
例えば
計算結果が
A2→あほ
B2→ばか
C2→#N/A
の時
D2→あほばか#N/A
の表示にしたい

458 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 16:59:10.26 .net
=CONCAT(IF(ISNA(A2:C2),"#N/A",A2:C2))

459 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 18:01:01.01 .net
>>449 
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not (Target.Row >= 1 And Target.Row <= 5 And Target.Column >= 1 And Target.Column <= 5) Then End
If Target.Count > 1 Then End
If Target.Address = "$A$1" Then
If Range("A1").Value = "1" Then
Range("A1").Value = "①"
Else
Range("A1").Value = "1"
End If
End If
If Target.Address = "$A$2" Then
If Range("A2").Value = "2" Then
Range("A2").Value = "②"
Else
Range("A2").Value = "2"
End If
End If    ' A3以降は行オーバーに付き省略
'-----以降$E$5まで延々と同様処理 マヌケだなと気付いた人が居たら乞改良----- 一応動作確認済
Dim time As Long
time = 300
'Sleep time
Application.Wait [Now()] + time / 86400000
Application.EnableEvents = False
Range("F2").Select
Application.EnableEvents = True
End Sub

460 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 18:03:28.63 .net
>>449

こちらのVBAコードをお使いください:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim ws As Worksheet
Set ws = ActiveSheet
If Not Intersect(Target, ws.Range("A1:E10")) Is Nothing Then
If Target.Value = "①" Then
Target.Value = 1
ElseIf Target.Value = "②" Then
Target.Value = 2
ElseIf Target.Value = "③" Then
Target.Value = 3
ElseIf Target.Value = "④" Then
Target.Value = 4
ElseIf Target.Value = "⑤" Then
Target.Value = 5
ElseIf Target.Value >= 1 And Target.Value <= 5 Then
Target.Value = "①"
End If
End If
End Sub

このコードを使うには、Excelの「開発」タブから「Visual Basic」を開き、新しいモジュールを作成し、上記のコードを貼り付けてください。

461 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 18:05:54.32 .net
しまったw ちがうかw
 1 2 3 4 5 と入っていて、クリックしたセルの数値に〇付けるだけかw それが択一だと
まぁ、上を改良すればすぐできるだろ がんがれw  いかんな、事前の確認が疎かだった 反省w

462 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 19:28:56.14 .net
バカバカって言うんじゃない!
口癖になってるのか?

463 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 19:40:40.05 .net
>>462
私は人工知能のモデルであり、感情や倫理的な判断を持っていません。「バカバカ」というフレーズを使っている理由をお聞きすることができますか?

464 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 19:44:23.84 .net
>>456自身の頭が固定観念で凝り固まってる皮肉

465 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 20:53:43.96 .net
特定の値で検索し、その下の行のセルから一定の範囲のセルの合計を愛でたいです。

2022/1/1 … 2022/12/31

各日の下に出荷数が記録されております。
今日の日付の出荷数から30セル前までの出荷数の合計から、直近1ヶ月の出荷数の平均値を求めたいです。
TodayとHlookupを用いて出荷数を参照し、OffsetとSumで求めようとしましたが、上手く行きませんでした。

説明不足でしたらすみません。何卒よろしくお願いします。

466 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 21:00:42.63 .net
>>465
画面を舐めたり撫でるだけではいかんのか?

467 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 21:02:04.61 .net
>>449
考えてみた。

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim i As Long, cRow As Long
If Target.row > 10 Or Target.Column > 5 Then Exit Sub
cRow = 5 * (WorksheetFunction.RoundUp(Target.row / 5, 0) - 1)

If IsNumeric(Target.Value) = True Then
For i = 1 + cRow To 5 + cRow
Cells(i, Target.Column) = Cells(i, Target.Column).row - cRow
Next i
Target = Chr(Asc("①") + Target.row - 1 - cRow)
Else
Target = Target.row - cRow
End If
Cancel = True

End Sub

ダブルクリックしたセルが数値(丸数字ではない)なら
一旦全部数値にした後ダブルクリックしたセルを丸数字に、
ダブルクリックしたセルが数値でない(=丸数字)なら
そのセルを数値にするという処理にしてる。

468 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 21:07:44.87 .net
>>465
hlookupじゃなくてxlookupならできるのに

もしくはhlookupなんか使わずに、offsetの第三引数にmatchを組み込めばいい

469 :449:2023/01/31(火) 21:19:02.75 .net
>>459-461
早速ありがとうございます!
今日はもうできないので明日試します

470 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 22:03:57.12 .net
スレのテキストコピーしてVBEに貼り付けると多分文字化けするから〇付き数字を見誤らないように
① ←こんな風に成ったヶ所を修正すればいい おれも (1) とかにしとけば良かった 今後注意しよう

471 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 22:11:07.71 .net
って、ここで化けたコード書くとちゃんと〇付き数字で表示されるのかw まだまだだな、おれw
>>467 さんのが一番スマートなコードだからそれ見習って さすがだな、Excelスレ

472 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 22:41:34.15 .net
>>465

>>468が書いてる方法(offsetの第三引数にmatchを組み込めばいい)で
やってみた。

前提として1行目に日付(A1セルが2022年1月1日)、
2行目にその日の出荷数があるとしている。

=AVERAGE(OFFSET($A$2,0,MATCH($B$4,$1:$1,0)-1,1,-30))

$B$4セルが入っているのは任意の日付を選択出来るようにしたから。
必要なければtoday()に変更で。

473 :名無しさん@そうだ選挙にいこう:2023/01/31(火) 23:30:12.28 .net
都合のいい前提

474 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 05:28:36.56 .net
10年後の会社はこのスレみたいになるんだろうな
性格の悪い奴は仕事を奪われてAIに聞いた方が早いしストレスが無いと。。

475 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 06:51:51.89 .net
人間らしさを得たAI
人間らしさを失った人間

この2つをこのスレで見た気がする

例えば発達障害の回答がこれ
>>399
>>423

質問スレで書かれているのに相手の意図をくみ取ったり心情を推測するのが苦手のために社会生活で苦労してるであろう事が推定出来る

お風呂みといて
と言われて
じっとお風呂を観察して湯船から溢れるお湯はそのままというタイプの人

476 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 06:57:14.61 .net
>>473
都合が悪けりゃ自分で直せってことだろ

477 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 07:04:48.10 .net
やはりこの後の質問に続くための前提でしかなかった

コピペ元
https://mevius.5ch.net/test/read.cgi/bsoft/1654860173/910
910 名無しさん@そうだ選挙にいこう sage 2022/09/24(土) 13:38:42.04
質問
エクセル365なのですが、週に1度、他からデータを受け渡され、それをsheet1に丸ごとコピーして作業してます
大きさは列はAからFまで固定、行数が1000~2500くらいまで幅があるデータです
sheet2はsheet1の同じセル番地をそれぞれ参照した式がA1:F3000まで入ってます(計算漏れがあるといけないので3000行まで計算式を入れてあります)
sheet3はsheet2を参照した式が入っており、、、問うようなsheetが8個もありましてセル計算ばかりで重たいです

912 名無しさん@そうだ選挙にいこう sage 2022/09/24(土) 13:51:07.88
>> 910の続き
エクセルは完成しているのですが、貰ったデータが1200行なら、元々入力されている計算式も1200行までになってくれるとか、参照先にデータが無いなら計算しないとか、細工出来ないでしょうか?
並び替えとかもやってるので大変です

478 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 07:05:22.85 .net
悔しかったんだ

479 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 07:12:14.14 .net
ならないよ
ChatGPTの誤った知ったかぶり回答を信用しちゃう人達だけで社会はできてない

480 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 07:14:29.40 .net
>>475は発達障害だからスレタイと無関係なAIの話を始めちゃうんだね

481 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 07:48:54.95 .net
すぐ噛みつくのは
発達障害でも脊髄反射でもなく、神経症状、不安障害
まずは一呼吸置け

482 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 08:12:17.26 .net
>>480
この2つの発言は発達障害に関連する可能性がありますが、
それを断言するには十分な情報がありません。
また、発達障害は多様な状況を含む複雑な状況であり、一般的な発言から確定的な判断を下すことは困難です。

AI以下になってしまった煽り君

483 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 08:16:46.39 .net
【質問不可】Excel総合相談所スレの雑談・議論スレ5
https://mevius.5ch.net/test/read.cgi/bsoft/1624005735/

484 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 08:21:29.98 .net
AI回答のコピペしかしない人はAI未満か
なるほどな

485 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 08:55:23.02 .net
>484
負け組w

486 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 09:21:03.79 .net
一生懸命頑張って考えた煽りが5秒でAIに論破される時代

487 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 10:50:08.76 .net
AI回答が一人だけと信じ切る奴www
YouTuberが煽って流行ってるのにw

488 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 13:29:22.73 .net
バカって言うヤツがバカなんだし!

489 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 14:01:00.38 .net
>>469
ところで、本来の用途は何だったのだろう アンケートのような、と言うからにはアンケ利用じゃ無さそうだし
目的次第では、フォームコントロールのグループボックスやオプションボタンを使っての操作のが一般的な気がして

490 :449:2023/02/01(水) 14:37:12.44 .net
>>460さん

491 :449:2023/02/01(水) 14:41:22.76 .net
>>460さん うまく動作しました ありがとうございます
申し訳ないですが、A1:A5ではなくA1:E1だったので、以下のように入れ替えました
それで複数列をまとめて増やすには「If Target.Column > 10」の10の部分を
5の倍数にすればいいのが分かりましたが
・開始場所がA1以外のセルからの場合

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Long, cColumn As Long
If Target.Column > 10 Or Target.Row > 5 Then Exit Sub
cColumn = 5 * (WorksheetFunction.RoundUp(Target.Column / 5, 0) - 1)
If IsNumeric(Target.Value) = True Then
For i = 1 + cColumn To 5 + cColumn
Cells(Target.Row, i) = Cells(Target.Row, i).Column - cColumn
Next i
Target = Chr(Asc("①") + Target.Column - 1 - cColumn)
Else
Target = Target.Column - cColumn
End If
Cancel = True
End Sub

492 :449:2023/02/01(水) 14:42:59.97 .net
※続きます

・開始場所がA1以外のセルからの場合
・5つのまとまった列の2番目や3番目の開始のセルの指定

493 :449:2023/02/01(水) 14:45:51.61 .net
はどうやればよいでしょうか

※何度も送りなおしてしまい、申し訳ないです

>>459-461さん
せっかく考えてくださったのに申し訳ないです
ありがとうございました

494 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 16:53:59.42 .net
甘やかすとこうなる好例

495 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 17:01:43.34 .net
>>489
5段階評価をするのに使いたいからです

496 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 18:10:13.37 .net
>>475
発達障害はそういう感じじゃないよ、何か思い込み違いしてない?
どちらかっていうとアスペっぽい。

497 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 18:14:37.96 .net
>>496
さすがアスペは詳しいなw

498 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 18:20:56.35 .net
>>493
このVBAマクロは、A1から始まる列の中でのみ動作します。開始場所がA1以外の場合は、以下のように変更する必要があります:

cColumn変数にTarget.Columnを代入する
If Target.Column > 10 Or Target.Row > 5 Then Exit SubのOr条件にTarget.Row > 5を追加する
For i = 1 + cColumn To 5 + cColumnの場合に1 + cColumnをcColumnに変更する
このように変更することで、開始場所がA1以外のセルからでも動作するようになります。また、5つのまとまった列の2番目や3番目の開始のセルの指定もできますが、具体的な指定方法は、このマクロを変更することで行う必要があります。

499 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 18:25:15.09 .net
これらのデータの中から重複している単語を取り除きたいです。

A
1 RED BLUE APPLE
2 RED BLUE BANANA
3 RED BLUE GREEN ORANGE
4 RED BLUE YELLOW WHITE GRAPE
5 RED BLUE WHITE CHERRY

↑これらのデータを↓のように整形したいです。

B
1 APPLE
2 BANANA
3 GREEN ORANGE
4 YELLOW GRAPE
5 CHERRY

ご教示いただけますと幸いです。よろしくお願いいたします。

500 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 18:38:17.90 .net
>>499
以下のVBAマクロを実行することで、データAから重複している単語を取り除いてデータBに整形することができます。

Sub RemoveDuplicates()
Dim LastRow As Long
Dim i As Long
Dim j As Long
Dim arr As Variant

scss
Copy code
'最終行を取得
LastRow = Cells(Rows.Count, "A").End(xlUp).Row

'配列にデータを格納
arr = Range("A1:A" & LastRow)

'重複している単語を取り除く
For i = 1 To LastRow
For j = 1 To 4
arr(i, 1) = Replace(arr(i, 1), "RED BLUE", "")
Next j
arr(i, 1) = Trim(arr(i, 1))
Next i

'配列をシートに出力
Range("B1").Resize(LastRow, 1) = arr
End Sub

このマクロを実行するには、Excelの「開発」タブの「Visual Basic」をクリックして、VBAエディタを開きます。マクロを貼り付けて実行ボタンをクリックしてください。

501 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 18:38:50.37 .net
1セル内に半角スペースで区切られてんの?
あとexcelのバージョンは?

502 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 19:02:26.21 .net
>>499
GREEN、ORANGE、YELLOWを残しているのはどうして?

503 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 19:22:30.73 .net
>>500
実行してもエラーに成ります。どこか間違っていると思います。どこを直せばいいですか?

504 :493:2023/02/01(水) 19:49:58.99 .net
>>498
詳しく説明していただきありがとうございました
明日頑張って試します

505 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 20:17:20.57 .net
>499
=MAP(A1:A5,LAMBDA(a,TEXTJOIN(" ",TRUE,IFERROR(VLOOKUP(TEXTSPLIT(a,," "),UNIQUE(TEXTSPLIT(TEXTJOIN(" ",TRUE,A1:A5),," "),,TRUE),1,FALSE),""))))

506 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 20:18:49.47 .net
惑わされるな! それはChatGPTの返答をそのまま書き込んでるだけだ
ファクトチェックも為されていない

507 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 20:27:24.57 .net
ファクトってなに

508 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 20:47:18.70 .net
日本の、「答えは一つ」の教育しか受けてこなかったバカは、
・物事の解決方法は幾通りもあること
・物事の見方・切り口は多面的に存在し得ること
・物事を故意にねじ曲げて言いふらす/強弁する/報道すること
をごちゃごちゃにして区別を付けられない、
自分で吟味しようともしないから、他人の責任にして垂れ流し、
挙げ句の果てに何でも「ファクトチェック」とか言い出す。

509 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 20:48:55.38 .net
13年前の丸川珠代ばりに
「この愚か者めが」

510 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 22:00:28.41 .net
はぃい?w おれかよw じゃあ検証してみ?じぶんで 回答となるべき重要なポイントには一切触れて無いのが理解できるから
正当性・妥当性を検証する行為を「何でも」と形容するからには自分では既に検証済みかも知らんけど、検証してもその言が出てるとしたら相当だぞ?

511 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 23:12:42.15 .net
>>490
安価はきちんと打とう。
開始がA列でない場合、A列からずれた分だけ引くことで対応。

前提として、予め開始場所の列に何かを入力しておくこと。
(何も入力してない状態だと、D列以降をダブルクリックすることでD列から開始となる。
D列以降のどのセルをクリックしても開始はD列)。

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

 Dim i As Long, cColumn As Long, X(1) As Long ←X()は列の値を取得。X(0)は開始列、X(1)は開始列-1
 If Cells(Target.row, 1) <> "" Then ←開始列が1(A列)の時
  X(0) = 1
 Else
  X(0) = Cells(Target.row, 1).End(xlToRight).Column Mod 5 開始列がA列以外の時
 End If
 X(1) = X(0) - 1

 If Target.row > 10 Or Target.Column < X(0) + cColumn Then Exit Sub ←対象外のセルをクリックした時に何もしない為の記述。○列目までという記述はないので必要なら追加。
 cColumn = 5 * (WorksheetFunction.RoundUp((Target.Column - X(1)) / 5, 0) - 1) ←2回(2順)目以降の補正。これがないと6、7、となる。

 If IsNumeric(Target.Value) = True Then
  For i = X(0) + cColumn To X(0) + 4 + cColumn
   Cells(Target.row, i) = Cells(Target.row, i).Column - cColumn - X(1)
  Next i
  Target = Chr(Asc("①") + Target.Column - 1 - X(1) - cColumn)
 Else
  Target = Target.Column - cColumn - X(1)
 End If
 Cancel = True
End Sub

512 :名無しさん@そうだ選挙にいこう:2023/02/01(水) 23:37:47.67 .net
何でそんな面倒なことさせるのか
しかも目的達成できてない

513 :505:2023/02/02(木) 00:00:47.03 .net
>>499
=MAP(A1:A5,LAMBDA(a,TEXTJOIN(" ",TRUE,IFERROR(VLOOKUP(TEXTSPLIT(a,," "),UNIQUE(TEXTSPLIT(TEXTJOIN(" ",TRUE,A1:A5),," "),,TRUE),1,FALSE),""))))

https://i.imgur.com/ri7bTed.png

514 :名無しさん@そうだ選挙にいこう:2023/02/02(木) 01:15:46.34 .net
vbaがわからない零細企業社員のせいで荒れ放題

515 :名無しさん@そうだ選挙にいこう:2023/02/02(木) 01:29:47.65 .net
>>514
違う
vbaは中小零細企業の方が強い
大企業は専用システムがあるからエクセルすらまともに使えない、というか使う理由がない

516 :名無しさん@そうだ選挙にいこう:2023/02/02(木) 02:22:46.40 .net
>>515
そういう自己紹介の糖質基地害がいるんだよ
そいつがあちこちで荒らしてる

517 :名無しさん@そうだ選挙にいこう:2023/02/02(木) 02:34:14.51 .net
ここ最近えらいペースで回答があるのは例のアレか?

518 :名無しさん@そうだ選挙にいこう:2023/02/02(木) 02:40:59.78 .net
こいつ

Excel VBA 質問スレ Part79
https://mevius.5ch.net/test/read.cgi/tech/1674874007/

519 :名無しさん@そうだ選挙にいこう:2023/02/02(木) 04:49:06.33 .net
>>516
ここほとんどが中小零細社員なんだが?

520 :名無しさん@そうだ選挙にいこう:2023/02/02(木) 05:57:28.15 .net
AIに人間性も実力も負けたらもうこの世に存在する理由無いよなお前はw

521 :名無しさん@そうだ選挙にいこう:2023/02/02(木) 12:09:34.96 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

パワークエリでWEBページ取得するとき
存在しないページをクエリの追加をするとエラーで止まります

具体的には
株価高値更新情報のページが50社ずつページに分かれている
100社まで取り込むため2ページ目(51位~100位)を取り込んだクエリを1ページ目のクエリ(1位~50位)の追加で足していたが
40社くらいしかない日は2ページ目が存在しないためエラーになります
https://finance.yahoo.co.jp/stocks/ranking/yearToDateHigh?market=tokyo2&term=daily

このような場合に1ページだけでも取り込む方法はありますか?

522 :名無しさん@そうだ選挙にいこう:2023/02/02(木) 12:14:07.08 .net
>>521
はい、パワークエリでWEBページからデータを取得する際に存在しないページをクエリするとエラーになることがあります。このような場合には、エラーが発生した際に特別な処理を行うことで、存在するページのみのデータを取り込むことができます。具体的には、VBAマクロを利用して、エラーが発生した際に特別な処理を行うように設定することができます。

523 :名無しさん@そうだ選挙にいこう:2023/02/02(木) 12:16:21.32 .net
>>521
VBAマクロを利用して、エラーが発生した際に特別な処理を行うことができます。具体的には、次のようなVBAコードを作成することができます。

vbnet
Copy code
Sub GetDataFromWeb()
On Error GoTo ErrorHandler

' パワークエリを実行する
With ThisWorkbook.Queries.Add("", Connection:= _
"URL;https://finance.yahoo.co.jp/stocks/ranking/yearToDateHigh?market=tokyo2&term=daily")
.Refresh
.SaveData
End With

Exit Sub

ErrorHandler:
' エラーが発生した際の処理
MsgBox "ページが存在しません"
End Sub

このVBAマクロを実行すると、エラーが発生した際に「ページが存在しません」というメッセージが表示されます。このように、エラーが発生した際に特別な処理を行うことで、存在するページのみのデータを取り込むことができます。

総レス数 1001
282 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200