Excel総合相談所 133
■ このスレッドは過去ログ倉庫に格納されています
▼━質問テンプレ (出来れば使ってね) ━━━ 【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel** 【3 VBAが使えるか .】 はい・いいえ 【4 VBAでの回答の可否】 可・否 ▼━関連スレ━━━━━━━━━━━━ 前スレ Excel総合相談所 132 https://mevius.5ch.net/test/read.cgi/bsoft/1530415352/ Excel VBA 質問スレ Part57 https://mevius.5ch.net/test/read.cgi/tech/1536583359/ 【質問不可】Excel総合相談所スレの雑談・議論スレ4 https://mevius.5ch.net/test/read.cgi/bsoft/1489108851/ >>532 単純に c=a÷b d=c-(cの整数部) d>0なら割りきれていないでいいんじゃないかな? >>532 b*(10^n)が整数になるようなnを求めて (a*(10^n)) mod (b*(10^n)) = 0 でいけないかな? >>532 =MOD(A1/B1,1)=0 こんなんでいいんじゃないの >>535 あ〜〜それ面白いね 気が付かなかった 少数部だけ取り出せるね エクセル2019およびオフィス2019っていつになったらパッケージ版が出るんですか? なにか開発上のトラブルでも出てるのでしょうか? >>539 特に無い 大企業向けのパッケージは既に出てるよ 販売のタイミングをノートPCにでも合わせてるんじゃない?知らんけど 別にダウンロード版でいいじゃん どうしてもDVDが欲しかったら焼けばいいし 焼く環境がなくて頼める友達もいなくて近くにネカフェもないなら待つしかないけど Excelと関係ないけど知恵をお借りしたい・・ 昔のExcel2003とか、オプションをインストールせずにCD-Rで動かしたりしてましたよね? それと似た感じで、古いハガキソフトなんだけど、イメージをデータDVDから読み込まなきゃならない 仮装ディスク化したり?PCに入れっぱなしにすることはできないだろうか? >>542 >オプションをインストールせずにCD-Rで動かしたりしてましたよね? してないよ >仮装ディスク化したり 良くわからないけど仮想CDや仮想DVD作ってHDDにいれればいいと思うよ ソフトはどれでも良いと思う https://forest.watch.impress.co.jp/library/nav/genre/sys/hardcust_virtualdrv.htm l >>543 してなかったっけ?w DaemonToolsというのがよさそうなので試してみます DaemonTools懐かしい!そのままokokで入れると変なソフト入ると思うから注意してね >>544 Windows 8 から標準でISOマウントできるぞ 今ってwindowsの機能でDVDからISOファイル作れるの? すみません、計算の質問なんですけど、 エックスの5%が1000の時、エックスはいくつなのかを求めたいです EXCELでの計算式はどうなるのか分かる方居ますか? >>553 こちらもありがとうございます! >>554 すみません! 付加価値額=(売上-経費)÷総時間 という計算式があり、付加価値額目標が100だが 現状は90です。 売上は変動せず、経費と総時間の削減によって100を達成したいのですが 経費と総時間をそれぞれ、または二つの削減をミックスして どうすれば100を達成するかを色々試せる方法がしりたいです。 グラフや何かいい方法あったら教えてほしいです >>556 まず、どちらかを任意に選ぶ 例えば総時間を選んだとする そうしたら、現在の総時間から1%ずつ増やしたり減らしたりしながら、付加価値額が100になるように方程式を解いて経費を求める 総時間と経費の一覧をグラフにプロットするとわかりやすくなるかも >>557 ありがとう グラフは何を使えばいいでしょう? AVERAGEとMEDIANってどう使い分けてる? とがったデータが有るならMEDIANていうのは分かるんだけれど 使い分けるシーンが良くわからない >>559 AVERAGEは平均 (A+B+C)/3 みたいな、みんながよく知ってる計算 MEDIANは中央値(真ん中の数字) 数字が小さい順にABCとあったら、Bが中央値 1、2、100ならMEDIANは2になる どういう場面で使い分けるべきかはとても難しい https://math.nakaken88.com/textbook/basic-mean-median-mode/ Win7、Excel2010の環境がメインです。 あるフォームにフォーカスが移ったときのイベントってどう書くのか教えてください。 Aというブック開き、Application.Visible = False という状態で、メニューフォームだけ表示している場合、 Bという別のブックを、別カーネルのエクセルで開いて操作して、それを閉じて、 また、Aのメニューフォームで操作しようとしたとき、どうも、Aブックがアクティブになってないようなんです。 なので、 Private Sub UserForm_フォーカス戻ったとき() Dim ww As Window Set ww = Application.Windows(ThisWorkbook.Name) ww.Activate Set ww = Nothing End sub ↑ こんな感じのことを書きたいです。 教えてください。イベント名はどうしたもんでしょうか? https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/activate-deactivate-events >Activate イベントと Deactivate イベントは、アプリケーション内でフォーカスが移動された場合のみ発生します。 >別のアプリケーションで、オブジェクトからまたはオブジェクトにフォーカスが移動されても、 >いずれのイベントもトリガーされません。 アクティブにはなっているがトリガーされないって感じだね >Bという別のブックを、 Bを閉じる前にAをアクティブにしたり、直接マクロを呼んでみてはどうかな Private Sub Workbook_BeforeClose(Cancel As Boolean) ww.Activate 'など End Sub >>561 Private Sub UserForm_Activate() accessのデータを excelに取り込みたい。 列名がaccessとexcelが合致しているもので紐づけて、 抽出条件はセルに規定する りんご 3 みかん 2 から りんご りんご りんご みかん みかん を得たいんだけど、 VBA使わずにやる方法ありますか? >>566 怖くてダウンロードできません。 アイデアの要点を教えてください。 >>567 C2=SUM($B$1:B1) D2=A2 E1=VLOOKUP(ROW()-1,C:D,2,1) https://i.imgur.com/1BH5P2h.png あげるファイル間違ってたわ 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2016 【3 VBAが使えるか .】 いいえ データシートには氏名と項目Aの値が記載されており、サマリーシートの方には氏名は記載されているが項目Aの値がないです そのため、サマリーシートの一部の該当者のみに対してデータシートの項目Aの値を引き抜いてサマリーシートの項目のAの欄を埋めたいのですが、どうやって項目Aのデータを引き抜けばいいのでしょうか? 日本語が分かりづらかったらすみません Vlookup、フィルター設定ではうまく出来ませんでした >データシートの項目Aの値を引き抜いて テータシートは明細のように思われっるので、データシート項目Aは該当者ごとに複数ある、と思われるが、そのどれを持ってきたらいいのだろう。 それとも、項目Aは数値で、それをサマリーしたいんだろうか? 本質ではないが、 >サマリーシートの一部の該当者のみに対して サマリーシートにはデータシートの一部の該当者が記載されているのか、それとも サマリーシートから一部の該当者を選んでその人に対してデータを抜き出したいのか。 >>571 やはり分かりにくかったですよね… >データシートの項目Aの値を引き抜いて →データシートの項目Aは該当者ごとにひとつのみあります また、>サマリーシートから一部の該当者を選んでその人に対してデータを抜き出したい、が正解です 以下のようなイメージです データシート チーム名 氏名 項目A チーム対象 田中太郎 A123 チーム対象 鈴木花子 B456 サマリーシート チーム名 氏名 項目A チーム対象 田中太郎 △(空欄)→対象 チーム対象 鈴木花子 △(空欄)→対象 チーム対象外 安室奈美恵 △(空欄)→対象外 >>440 そのMAXだった範囲の中を違う列を基準に合計する方法ありますか? 1と入ってるとこだけ合計とか >>572 対象外にするかどうかは、人が決める? それとも データーシートにない人は、サマリーシートで対象外とする? >>576 チームによります 対象のチームと対象外のチームがあるという感じです いくつかの関数を組み合わせようにも知識がなく困っています >>577 サマリーシートに"対象"、"対象外"という文字が入っていると 考えて良いわけね ごめん、仕方ないんで文字で書いてみた。間違いないと思うんだが。 同じシート内で作ってみました 項目の並びは次の通りで見出しとして氏名、項目Aなどがあるとする ========== A1: 氏名 B1: 項目A D1: 対象有無 ・・・文字として”対象”、”対象外”があるとする E1: 氏名 F1: 項目A ========== F2: =IF(D2="対象",VLOOKUP(E2,$A$2:$B$4,2,FALSE),"") データシートがA2:B4とした例です >>581 解決しました! ありがとうございました ▼━質問テンプレ (出来れば使ってね) ━━━ 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 不明 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 ▼━関連スレ━━━━━━━━━━━━ 日本語項目名_JName_20181227.xls これの日付部分と最後のハイフンを消したい場合どうすればいいですか(日本語項目名_JName.xlsのようにしたい) ワイルドカード使うと日本語項目名.xlsになってしまってできない >>585 585ですがこれ日本語項目名_JName_NipponKoumoku_20181227.xlsみたいにハイフンが3つになることもあります。 vba組むの慣れてなくてめちゃくちゃ時間かかってできたたんですが、excelでできたらなと思いまして… >>586 585です。 説明不足でした ああゆう感じのファイルが600くらいセルに貼ってあって(項目名と日付が全部違う)セル内の文字列を扱いたいです… >>588 Ctrl + [h] [検索する文字列] : _ [すべて変換] ボタンをクリック >>585 手動操作が入っていいなら、アンダーバー(_)を区切りにとして データリボンの「区切り位置」でセルを分ける。 JName と 20181227.xls に分かれるので後ろを「ピリオド」で 分割すれば、JName 20181227 xls の3つに分かれる。 これの頭に"_"が付けて&でつなぐってのはいかがでしょう。 自動化したいなら、マクロで学習させればいいし。 >>585 =LEFT(A1,LEN(A1)-13)&".xls" なるほど、後ろからなら名前の長さに影響されないってことね。 とすると、xlsxが入っている場合も有ると考えると、それを変形して =REPLACE(A1,FIND(".",B3)-9,9,"") というのもありだね。 ごめん、修正ミスした =REPLACE(A1,FIND(".",A1)-9,9,"") >ハイフンじゃなくてアンダーバーよな どうしたん? 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2003 xlsファイルの中にシートが10枚以上あって、シート1枚ずつファイル(csv)にして保存したいです。 尚、この作業を行いたいxlsファイルは100個ぐらいあります。 https://excelkamiwaza.com/sheets_save.html ぐぐって出てきた方法がVBAを使う方法なんですが、xlsファイル1つずつこの作業をしていくのはつらいです。 何かうまい方法はないでしょうか? >>598599 すまん、今作ってる もう少し待て >>598 はい、お年玉 フォルダ構成は以下のようにして、 sourcdeフォルダにエクセルファイルを入れてくれ csvファイルに結果が出る 作業フォルダ └マクロの入ったブック └source └csv Sub foo() Set fso = CreateObject("Scripting.FileSystemObject") For Each f In fso.GetFolder(ThisWorkbook.Path & "\source").Files Set ワークブック = Workbooks.Open(f.Path) For Each シート In ワークブック.Worksheets シート.Activate ActiveWorkbook.SaveAs ThisWorkbook.Path & "\csv\" & f.Name & "_" & シート.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False Next ワークブック.Close Next End Sub >>598 僕からもお年玉 Sub 二つ目以降のブックのシートを分割保存() Dim WB2 As Workbook While (1) If Workbooks.Count >= 2 Then Set WB2 = Workbooks(2) For Each シート In WB2.Worksheets If シート.Name <> "macro" Then シート.Copy ActiveWorkbook.SaveAs ThisWorkbook.Path & "\ " & WB2.Name & "_" & シート.Name & ".xlsx" ActiveWorkbook.Close End If Next シート WB2.Close End If DoEvents Wend End Sub '新しいブックにこのマクロを書く 'マクロを実行 'このブックのシートに分割したいExcelファイルをドラッグアンドドロップ '2つ以上を同時にでもOK '止め方はVBEのリセットボタンを押してくれ まだ大晦日やないかーーい >>598 余計な話は重々承知しておりますが、 有償ツールを用意しておけば その程度だと処理自体は全部で1分もかからず終わるんですけどね。 >>603 あれれ 一度マクロファイルを保存しないと動かないな 修正 Sub 二つ目以降のブックのシートを分割保存() Dim WB2 As Workbook While (1) If Workbooks.Count >= 2 Then Set WB2 = Workbooks(2) For Each シート In WB2.Worksheets If シート.Name <> "macro" Then シート.Copy 'ActiveWorkbook.SaveAs WB2.Path & "\ " & Left(WB2.Name, InStr(WB2.Name, ".") - 1) & "_" & シート.Name & ".xlsx" 'xlsx形式で保存する場合 ActiveWorkbook.SaveAs WB2.Path & "\ " & Left(WB2.Name, InStr(WB2.Name, ".") - 1) & "_" & シート.Name & ".csv", FileFormat:=xlCSV ActiveWorkbook.Close End If Next シート WB2.Close End If DoEvents Wend End Sub '新しいブックにこのマクロを書く 'マクロを実行 'このブックのシートに分割したいExcelファイルをドラッグアンドドロップ '2つ以上を同時にでもOK '元ファイルのフォルダに分割ファイルが生成される '止め方はVBEのリセットボタンを押してくれ ありがとうございます。 色々な方法があるんですね。 マクロはセキュリティの警告が出て、セキュリティのレベルを下げても直りませんでした。 マクロを実行できる環境になってないのかもしれないです。 で、>>601 の1つ目のソフトで解決しました。 Excelに緊急パッチ来て、当てたら既存ファイル開けなくなった。 環境はWindows7と10でOfficeはH&B2010 誰か助けて〜 >>609 復旧出来ました。 ありがとうございました。 俺もExcel2010で>>608 と同様の症状になって>>609 の方法で解決したわ KB4464627は非表示にした 【1 OSの種類 .】 Windows 7 【2 Excelのバージョン 】 Office 365 【3 VBAが使えるか .】 いいえ ━━━━━━━━━━━━━━━ Zが標準正規分布に従う時、次の値を求めよ。 1:P{Z>u1}=0.05を満たすu1の値 2:P{Z<u2}=0.005を満たすu2の値 3:P{-u3<Z<u3}=0.99を満たすu3の値 Xが正規分布N(10, 5^2)に従う時、次の確率を求めよ。 1:P{X>20} 2:P{X<5} 3:P{0<X<20} ━━━━━━━━━━━━━━━ 上の6つの問題を標準正規分布の数値表を用いずに、 Excelの関数で求めたいのですが、関数式を教えていただければ幸いです。 >>613 それさ、宿題でしょうね。 まずさ、正規分布表を使って答えを書いてみて。 じゃなきゃ勉強にならないでしょ。 1:数値表から u1=1.645 2:数値表より -u2=2.576 → u2=-2.576 (左右対称性) 3:これも左右対称性を用いて 1-2P{Z>u3} から P{Z>u3}=0.005、数値表から u3=2.576 1:P{X>20}=P{(X-10)/5 > (20-10)/5}=P{Z>2}=0.0028 2:P{X<5}は基準化と左右対称性を用いてP{(X-10)/5 < (5-10)/5}=P{Z>1}=0.1587 3:P{0<X<20}、これも2と同様にP{-2 < Z < 2}=1-2P{Z>2}=1-2*0.0028=0.9544 「答えを書いて」と言われたので記しておきます。 この時期は学生さんからの質問が多いのでしょうけど、宿題ではないです。 最初から「宿題でしょ」と決め付けてくる人に答えを見せた所で 今度は「答え丸写しでしょ?w」って返してくるのがお約束だから別スレで質問した方がいいと思う >>615 です。 再確認していたのですが、P{X>20}は0.0028じゃなくて0.0228です。 0が1つ余分な上に2が一つ抜けていました。 今日来たWindows UpdateのEXCELの更新データ これ入れたら起動しなくなったわ @2010 Windows7 PRO64 >>618 基本、関数はNORMINVと、NORMDISTの2つだけで そこまでわかっていれば、容易に理解できますね。 上はNORMINV,下はNORMDISTで求められます。 引数は、ちゃんと用語が出てくるのでそれを見れば どの引数にどれを与えるか、あなたなら理解できる。 数表と同じ結果になることで検証できますから。 >>613 >>615>>618 横だけど回答する能力がある人はそろそろ回答してほしい ここはマウントするための場じゃないんだよ >>609 俺もここで助かった。MS碌なことしないな どうせまともに答えず関数だけ貼って終わりだろうなって思ったら案の定だったwww 統計学スレに行った方が良いぞ 質問したら宿題は自分でやれって言う奴がいたり 式を教えてって言ってるのに関数だけ貼る奴がいたり 旗から見ると面白いやり取りしてるよな そういう話じゃないぜ たとえば平均求めたいとして=Average( と入力したら =Average(範囲) と出てきたとしたとき「範囲はどこに入れるんですか」という 質問と同じ。 範囲は範囲と書いてあるところに入れる。 >>614 ,620,627,629 君は毎回毎回書き込む度にageなきゃ気が済まないの? >>613 =NORM.S.INV(1-0.05) =NORM.S.INV(0.005) =NORM.S.INV(1-(1-0.99)/2) =1-NORM.DIST(20,10,5,TRUE) =NORM.DIST(5,10,5,TRUE) =NORM.DIST(20,10,5,TRUE)-NORM.DIST(0,10,5,TRUE) 正直、統計わかってない人達は黙っておいたほうがいいと思う ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる