Excel総合相談所 132
レス数が1000を超えています。これ以上書き込みはできません。
>>120>>121
ありがとうございます、やりたいことが出来ました >>123
>>124
ありがとうございます!
原因はフィルターでした…
ソートかかっていましたorz
失礼しましたm(__)m Wordで作成した段組みのある文書を、Excelで表示を変えずに読み込ませる方法はないですか? >>127
何も変えたくないならプリントスクリーンしかない
次点でテキストボックスか 数式を入れて計算!(ここでは10.5とかほどよい桁で表示される)
↓
オートフィルで数式をコピーする
↓
桁数が14桁くらいになってセル内表示しきれなくなる
って現象どうにかしたいのだけど…… >>130
後から変えるのでなく最初からどうにかしたいんだ…… 詳細設定とかからそもそも変えられないかと思ったんだ
表示形式いじるんじゃあ逐一必要だし手間数変わらんくないか alt+enterでセル内で改行したテーブルを作ったけど、vlookupを使って表示をさせようとすると改行されずに1行で表示されてしまいます
なんとか2行で表示させることはできませんか? >>139
言葉足らずで申し訳ありません・・
センターリングで2行で表示をさせたいのです・・ >>140
横から失礼
2行分にまたがって表示させたいのであれば、
VLOOKUPの計算式のあるセルと直下のセルを結合したらいいのでは? >>141
有難うございます
ですが、データベースなので結合とかは避けたいのです、、 >>143
有難うございます
商品名によって長さが異なるので、スペースを使って調整するのはちょっと、、 >>144
観察力無さすぎ。
センタリングと折り返し両方書式指定してることが画像で読み取れる。スペースを挟んだ訳ではない あれ、伝わらなってなかったか
>>145補足ありがとう そもそも>>139に対して>>140のレスが意味不明すぎるな
言葉じゃなくて脳足らず A列とB列を比較して絶対値の大きい方の値をシー列に表示を各行ごとにやっていく関数教えてください >>148
正攻法なら
C1に=MAX(ABS(A1),ABS(B1))
を入力してコピー 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
質問があります。
下記表があり、自動で今月の商品を抽出できるようにしたいのですが
記録のマクロで、A5をコピーしフィルターに貼付けるようにしたら
2018-07が貼り付きます
A5は=today()なので来月は2018-08が自動で抽出させるにはどうすれば宜しいでしょうか?
a b c d e
1 年 商品 数量 金額 2018-07
2 2018-06 りんご 2 200
3 2018-07 いちご 2 500
4 2018-07 ばなな 1 150
Sub Macro1()
'
' Macro1 Macro
'
'
Range("e1").Select
Selection.Copy
ActiveSheet.ListObjects("sheet1").Range.AutoFilter Field:=1, Criteria1:= _
"2018-07"
End Sub >>153
A5にtoday関数というのが、よく分からない。
普通、A列も下方向にデータが増えて行くのでは?
2018-07も、手入力でハイフンまで打ってるのかな?
どう入力するかはともかく表示形式で設定した方がいいような気もするけど。 >>153
マクロ回答が否なのにマクロのソース貼られても VBA使ってよく、且つE1がフィルタ条件でいいなら
そのマクロに変数1つ設定するだけだけなんだがw さっそくの回答ありがとうございます
>>154>>156
すみませんA5ではなくE1でした
A列には2018-08など年月データが増えていきます
2018-の表示はうちのPCからCSVで出力した時に自然とそう出力されるので
E1には=TEXT(TODAY(),"yyyy-mm")としています
>>155
すみません書き間違えました
【4 VBAでの回答の可否】 可です
色々と書き間違えていてみませんがご回答よろしくお願いします Sub Chusyutsu()
Dim Cm As String
Cm = Cells(5,1).Value
ActiveSheet.ListObjects("sheet1").Range.AutoFilter Field:=1, Criteria1:= Cm
End Sub Sub test()
Dim myYearMonth As String
myYearMonth = Format(Date, "yyyy-mm")
Range("A1").AutoFilter 1, myYearMonth
End Sub >>158
すみません、翌月でしたね。どちらにしても、E1にtoday関数は不要です。
Sub test()
Dim myYearMonth As String
myYearMonth = Format(DateSerial(Year(Now), Month(Now) + 1, 1), "yyyy-mm")
Range("A1").AutoFilter 1, myYearMonth
End Sub
E1にtoday関数を使いたい場合は、いくつか方法があると思いますが、簡単なのは
F1に=TEXT(DATE(YEAR(E1), MONTH(E1)+1, 1),"yyyy-mm")と数式を入れておいて
上記コードの2行のRange("E1")をRange("F1")にすればよいかと。 何度もすみません。下の3行は書き間違いなので、無視してください。 >>143-147
有難うございました!
会社のPCでしか確認できなかったのでお礼が遅くなり申し訳ありませんでした >>154さんありがとうございます。
今月のデータのみ抽出したいので160で大丈夫です。
>>159さんもありがとうございました。 お前ら最近エクセルで何作ったよ??こんなスレにいて何つくんの? 転職した今の中小企業は見栄えの関係でセルの結合ばかり使ったファイルでうんざり
財務諸表の加工をマクロでして見せたら、なんでもマクロで解決できない?と要求されて困ってる
自分のマクロの使い方はテーブル化されたシンプルなデータを加工・抽出や定型文書とかにしか使ってません
皆さんはどんなことに使ってます?
マクロの可能性とやらを教えてくださいw
あと、VBAは一読して挫折したけど、真剣に勉強する価値はありますか? 【1 OSの種類 .】Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
〇・△・□・✕のような記号をセルに入力して、〇か□の記号が入力されているうちの、一番右側のセルの位置(例えばC3)を表示するにはどうすればよろしいでしょうか。
どの関数を使うのかのヒントでもよいのでお願いいたします。 >>168
自分がやってる仕事全部かなぁ
fso触れるようになるとめちゃくちゃ便利だよ。一歩上にいける シートの一覧を出して選択して移動したり、
図形の中に書かれている文字列を検索・置換したり、
全シートのカーソル位置をA1に揃えたり、
書き込み禁止状態で編集しようとしたら警告したり、
みたいないろんな痒いところに手が届く便利機能満載のマクロか何かが
あった筈なんだけど、どこにあるか知りませんか? >>174
そういうのはライブラリやアドインという
ここの連中は自前で作ってしまえるので、多分みんな知らない
「エクセル ライブラリ」とかで検索したほうが早いかも マクロじゃなくてアドインか
RelaxTools という奴だと思う ここで、質問があってるか分からないのですが、
Web上にExcelファイルを置いて、
ブラウザ上で、限られたメンバーのみが閲覧編集出来るサイトなど有りますか? >>177
onedriveで共有フォルダ作って、
excel fileをそこに置いて、
公開する相手を指定する。 >>178
>>179
ありがとうございます
ただ、URLを相手に送って
Webブラウザ上でやりたいんです >>180
じゃあスプレッドシート
エクセルからスプレッドシートに変換すればブラウザ上でも編集できる
ダウンロードはエクセル形式に戻すことも可能 >>180
GoogleスプレッドシートはWebブラウザ上で扱うよ? >>180
何をやりたいかによるけど、
onedriveはクラウドサービスなんだから、URLを教えればいいし、
Excel onlineでwebブラウザ上で基本的な編集はできる。
Excel desktopとExcel onlineの機能差はググれ。 ほかのユーザーが使用中のだめ保存できませんでしたって手でくるのはどうしたらいいの? 他のユーザーに閉じてもらう
もしくは共有を設定する うちは逆に開けない時があるわ
NASにあるパスワードを掛けてない共有フォルダ内ににある
Excelファイルを開こうとしてエラーが出て読みこめず、何度かクリックしてたら読み込めたり
パスワード要求されて全く読めなくなったら再起動して解決とか
NASの問題なのかな >>186
そう思うならNASの機種書けよ。その地雷買っちまうだろ すみません、教えてください。
a、b2つの会員名簿のファイルがあります。
aは会員の抜粋、bは全会員です。
住所と電話番号はbにしか入っていません。
これをaに転記したいのです。
どちらのファイルにもb列に会員IDが入っています。
これに紐づけてbの住所と電話番号を
aに引っ張ってこれないでしょうか?
office365solo、MacBook Airです。 【1 OSの種類 .】Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
エクセル初心者です。
A列に上限200文字くらいまでのフリーコメント欄があります。
A列のテキストの中に「クレーム」という文字があった場合、B列に「●」を表示させるにはどうしたら良いでしょうか? >>189
いくつか方法があるけど、
if関数、countif関数、ワイルドカードを使う場合
=IF(COUNTIF(A1,"*クレーム*")<>0,"〇","×")
if関数、substutute関数、len関数を使う場合
=IF(LEN(A1)<>LEN(SUBSTITUTE(A1,"クレーム","")),"〇","×")
if関数、iferror関数、serach関数を使う場合
=IFERROR(IF(SEARCH("クレーム",A1),"〇"),"×") >>188
普通にvlookup関数か、index関数とmatch関数でいけるのでは? >>191
横レスだけど、MOUSで勉強でもされましたか?
ネストとかになるとネットで調べないと対応できなくて MOSは持ってないですが、我流よりは独学でもいいので
体系的に学習した方がいいかもしれません。
というほど私も詳しくないですが。
ネストは慣れでしょうけど、
1.作業列使ってシンプルに書く。
2.必要に応じてそれを1つの式にする。
という段階を経てやるのがいいのではないでしょうか。 >>188
=index(bの住所列,match(aの会員ID,bの会員ID列,0))
=index(bの電話番号列,match(aの会員ID,bの会員ID列,0)) >>196
ああ、そうですね。言われてみるとその通りです。
=IF(A1<>SUBSTITUTE(A1,"クレーム",""),"〇","×")
ということは、3つの中でこれが一番シンプルかも。 超初心者です。ブイルックアップが全くわかりません!教えてください! なんかエクセルファイル開こうと思ったらいきなりofficeの何とか同意しますかって画面が出てきた
同意したら普通に使えるようになったけど
定期的に認証確認してるってことでいいのかな
1年使っててこんなの初めてなんだけど >>201
何に同意するのかちゃんと読むようになれば初心者脱却 >>202
拾った画像だけど
https://i.imgur.com/amyRjdA.jpg
この画面で間もなく準備〜じゃなくて使用許諾とかだったと思うけど
で同意してofficeを開始ってボタンになってた
仕事でメール送る必要あったからとっさに同意してしまったけど
officeHB2016のスタンドアローン版ね office365solo Excel2016で1ヶ月前からエラー
一部の内容に問題が見つかりました。可能な限りを回復しますか?→はい
修復されたレコードが〜
このときのtable番号メモ
ブックの拡張子→zipに変更中身確認、table番号から該当テーブル特定
別PCのExcel2010で該当テーブルを「範囲にへんかん」
これでExcel2016で起動できた
コミュニティにも同様の質問がちらほら
へんかん(漢字)
NGワードわろた ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
[データ]−[グループ化]に関しての質問です。
Googleスプレッドシートでグループ化(折り畳み)を行うと、
開閉ボタンはグループ化する対象の1行上に表示されるのに対し、
Excelでは指定した行の1行下に表示されます。
Googleスプレッドシートで設定後にExcel形式でダウンロード→Excelで開くことで
Excel上でスプレッドシートと同様1行上にボタンを表示させることはできますが、手間です。
使う目的としては1行上に表示される方が都合が良いのですが、
Excel単体でそうなるように設定する方法はありますでしょうか。 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
workday関数についてですが、1年間の表を作りたいのですが、1週間に一度くらいの割合で日付が2日ほど飛んでいます。
セルの参照は間違っていないようなのですが、何が原因か分かりません。
原因と解決策がわかる方がいれば、ご教授いただければ幸いです。 >>207
workday関数は土日と指定したリストに含まれる日を除く関数 >>208
ありがとうございます
workdayを使わなければちゃんとした表が作れました >>201
この表示が出て同意するしかないから同意したけど
そのあとから今まで使えてたアドインがバーから消えてて、アドインの項目調べたらチェック自体はついてるんだけど
どうすればいいのかな 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
詳しい方教えて下さい。
複数のシートに貼り付いた図形(正方形/長方形)から文字を抜き出す方法を教えて下さい。
自分なりに探しテキストボックスから文字を抜き出すマクロを見つけ実行しましたが作動せず。
https://www.relief.jp/docs/excel-vba-wright-texts-in-textboxes-to-cells.html
やはりテキストボックスと図形(正方形/長方形)は違うのでしょうか?
ちなみにこれが実行したマクロです
Sub テキストボックスの文字列を書き出す()
Dim shp As Shape
Dim n As Long ' 文字列を書き出す行番号
n = Cells.SpecialCells(xlCellTypeLastCell).Row + 3
For Each shp In ActiveSheet.Shapes
If shp.Type = msoTextBox Then
Cells(n, "A").Value = _
shp.TextFrame.Characters.Text
n = n + 1
End If
Next shp
End Sub すみません
【4 VBAでの回答の可否】 可です。 >>213
複数のワークシートを順に選択するプログラムがどこにもない
Sub テキストボックスの文字列を書き出す()
Dim shp As Shape
Dim n As Long ' 文字列を書き出す行番号
n = Cells.SpecialCells(xlCellTypeLastCell).Row + 3
For Each ws In Worksheets
For Each shp In ws.Shapes
Cells(n, "A").Value = shp.TextFrame.Characters.Text
n = n + 1
Next
Next
End Sub >>215
ありがとうございます。
本当に助かりました。 【1 OSの種類 .】 Windows7、10
【2 Excelのバージョン 】 Excel2007、2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
同じセル内でもドロップダウンリストの項目を変える方法を教えてください。
A列には箇所1、箇所2・・・箇所10といった箇所を入力
B列には箇所ごとに発生する5〜10種類のエラー内容を入力(トータルで60項目程度で内容に被りは無し)
といった感じで入力していますが、入力する人によって言い回しや送り仮名の使い方が違っていて
履歴を辿りたい時に苦労することがあります。
なので、ドロップダウンリストから選択する方式に変えたいのですが、
エラー内容が60項目もあるのでそのままだと選択すること自体が大変になりそうです。
A1で箇所1が選択された場合は箇所1のみで発生するエラー内容(6項目)のドロップダウンリストを、
A2で箇所3が選択された場合は箇所3のみで発生するエラー内容(8項目)のドロップダウンリストを・・・
このようにしたいのですが、方法があったら教えてください。 質問ではドロップダウンリストと書きましたが思いついたのがそれだけであって、
A列の選択内容によってB列のリストが適切なものになる方法であれば何でもOKです。 よろしくお願いします。
あるデータの桁数を揃えたいのですが、どんな計算式を使えばいいでしょうか。
1-2-3-4
↓
1-02-03-004
1桁2桁2桁3桁に揃えたいです。 >>221
=LEFT(A1,2)&TEXT(LEFT(MID(A1,3,9),FIND("-",MID(A1,3,9))-1),"00-")&TEXT(
MID(LEFT(A1,FIND("c",SUBSTITUTE(A1,"-","c",3))-1),FIND("b",SUBSTITUTE(
A1,"-","b",2))+1,3),"00-")&TEXT(MID(A1,FIND("d",SUBSTITUTE(A1,"-","d",
3))+1,3),"000") 今手元にないから確認できないけど
見た目だけでいいなら書式設定でできるんじゃ? 元データは文字列にしかならんだろうし、どう書式設定するというんだ 質問です。
データ整理と検索についてなのですが
例えば建物名とその建物のに振られた番号があるとします。
no1 テストビル
no2 テストマンション
no3 テストスーパー
といった具合の一覧があるとして
表を作った時にセルにno1と入力したら
隣のセルにテストビルと抽出させるようにすることはできますか?
できるとしたらどのような関数と式を用いればいいでしょうか。
よろしくお願いいたします。 サーバにインストールするExcelと
クライアントのパソコンに入れるExcelはまた種類がちがうの?bit数は違っても32bitならいけるとおもうが ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows7Pro
【2 Excelのバージョン 】 Excel2,016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
入力規則について質問です
プルダウンリストを設定して入力規則のエラーメッセージのタブで
無効なデータが入力されたらエラーメッセージを表示する
にチェックマークを入れてスタイルを停止にすると
勝手に入力しようとしたらエラーメッセージが表示されると思いますが
エラーメッセージが表示されず自由に入力できる時があります
何が原因でしょうか
https://i.imgur.com/8Xo9r1D.jpg
https://i.imgur.com/vFayrKv.jpg >>228です
自決しました
プルダウンリストの範囲に後で追加できるよう空欄セルを含めてると
自由に入力できることが分かりました
お騒がせいたしました 桁括りの , が、何の為にあるのか、
分からないまま、逝っちゃったんだろうナ・・・ ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows7Pro
【2 Excelのバージョン 】 Excel2,010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
入力規則について質問です
2段階のプルダウンリストを設定して
初段のリストから選択した値を読み込んで
もう1つのプルダウンリストには最初に選択された値によって絞り込まれたリストが出るようにしたいです
私の知っている方法では
リストの元となるデータ表を作成し
必要なリストごとに名前を設定して
2段階目のプルダウンリストに
=indirect(初段リストのセル番地)ぐらいなのですが
今回これではできない理由があります
初段リストに載せる値がスペースや,などが入っており(これは絶対に変えれません)名前の定義ができませんと拒否されます
なので名前の定義ができない以上この方法は使えなく、他にいい方法があれば教えてください><
お願いします
そして別表で作った
何が原因でしょうか
https://i.imgur.com/8Xo9r1D.jpg
https://i.imgur.com/vFayrKv.jpg >>233
すいません
内容コピって消さずに書き込んじゃいました
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows7Pro
【2 Excelのバージョン 】 Excel2,010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
入力規則について質問です
2段階のプルダウンリストを設定して
初段のリストから選択した値を読み込んで
もう1つのプルダウンリストには最初に選択された値によって絞り込まれたリストが出るようにしたいです
私の知っている方法では
リストの元となるデータ表を作成し
必要なリストごとに名前を設定して
2段階目のプルダウンリストに
=indirect(初段リストのセル番地)ぐらいなのですが
今回これではできない理由があります
初段リストに載せる値がスペースや,などが入っており(これは絶対に変えれません)名前の定義ができませんと拒否されます
なので名前の定義ができない以上この方法は使えなく、他にいい方法があったら教えてください><
お願いします 2段めを成約する範囲の名前が、1段目の値そのものでなくてもいんじゃないの >>235
1段目の値そのものにしないと
どうやってリストを絞り込むんですか?
例えばですけど
1段目 2段目
人事 Aさん Bさん Cさん
経理 Dさん Eさん
総務 Fさん Gさん Hさん Iさん
というデータリストがあって
1段目で人事を選ぶと2段目ではA〜Cさんまでしか
リストに表示されないようにしたいんです
そこで1段目のリストのデータ範囲に人事、経理、総務
を入力します
次にAさん〜Cさんの範囲で「人事」と名前の定義
DさんからEさんの範囲で「経理」と名前の定義
FさんからIさんの範囲で「総務」と名前の定義
をします
最後に2段目のリストのデータ範囲に
indirect(1段目のリストの番地)
と入力すると1段目の値から名前を読み取って定義づけされた名前の範囲のデータを選択できるようになるんですが、
そもそも名前の定義づけができない場合に他の方法で同じことできる方法を教えて欲しいのです 1段目の値を元にVLOOKUPで別の値を引いてきて それを元に2段めを ってこと >>237
これはすごい!
ありがとうございます! >>238
その方法もできそうですね!
ありがとうございます ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows7Pro
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 ネット上にある既存のVBAの参照セル等を変更してアレンジする程度
【4 VBAでの回答の可否】 可
PDFで保存した後そのPDFを開きたいと思い検索していたら下記VBAを見つけました
下記VBAそのままコピペしたら問題無く使えたのですが、
同一ファイル名のPDFがあると上書き保存されます
同一ファイル名があった時、ファイル名末尾に(1)、(2)、(3)・・・と追加して保存して
上書き保存されないようにできますでしょうか
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10129152500
Sub Test()
Dim FileName As String
Dim FilePath As String
Dim FSO As Object
FileName = ThisWorkbook.Name
Set FSO = CreateObject("Scripting.FileSystemObject")
FileName = FSO.getbasename(FileName)
FilePath = ThisWorkbook.Path & "\"
Worksheets("Sheet1").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=FilePath & FileName & "_" & Range("A1").Value & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub 【1 OSの種類 .】 Windows8.1
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
質問失礼します
このように、別々のシートに存在するデータ同士を、データが合致する位置で貼り付ける(合成する?)方法を探しています
https://imgur.com/a/lPZ0F8m
実際に貼り付けたいセル同士は何百ものデータがあり、データが抜けている行がいくつもあるため、データが合致する位置で貼り付けるとなると1つ1つ貼り付けるくらいしか方法がわかりません…
何かいい方法はないでしょうか?よろしくお願いします 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
前任者の残していったこのようなVBAがあります。
このexcelブックを他のPCで使うために、絶対パスを相対パスに変更したいです。
どこをどのように書き換えればいいでしょうか?
_______________________________________
Sub test()
Dim strFileName As String
'CSVファイルの存在するフォルダ指定
'ファイルオープンダイアログ
ChDir ("C:\Users\test\Desktop\aaa\bbb\ccc")
strFileName = Application.GetOpenFilename("CSVファイル (*.CSV),*.CSV", (1), "ファイルを選択")
If (strFileName <> "False") Then
_______________________________________
chdir部分を("‥/)のように変更してみましたが駄目でした。
ご教授いただければ幸いです >>241
dir関数でファイルの検索をループして
カウント
ファイル名の拡張子前にカウントをつける >>243
共有フォルダではないという前提
実行ファイルの置き場から設定するのが普通かと思われます
ChDrive ThisWorkbook.Path
ChDir ThisWorkbook.Path & "\ccc"
マクロを記述するファイルをcccのひとつ上の階層のフォルダにおいて、そこから相対参照 >>244
すみません、その後ファイル名が重複した時、連番で保存すると
1.重複があって連番で保存されたことに気付かないかもしれない
2.結局またファイル名を修正せねばならない
以上理由で名前を付けて保存のメニューが出てファイル名の欄に重複してるファイル名が表示されるよう下記URLのVBAを組み込んでみたところ、
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1182505766
重複判定は正しく機能しているようなのですが重複していて名前を変更して保存した時に保存されません
また名前を変更せず保存した時も保存されません
恐らく、FileFilter:="PDFファイル,*.pdf", _の部分が問題かと思うのですがどのように変更しましたらよろしいでしょうか
Sub PDF()
Dim FileName As String
Dim FilePath As String
Dim FSO As Object
FileName = ThisWorkbook.Name
Set FSO = CreateObject("Scripting.FileSystemObject")
FileName = FSO.getbasename(FileName)
FilePath = ThisWorkbook.Path & "\"
'ここから下を追加
Dim FSO2 As Variant
Dim FN As String
FN = FilePath & FileName & "_" & Range("D20").Value & "(" & Range("J3").Value & ")" & ".pdf"
Set FSO2 = CreateObject("Scripting.FileSystemObject")
'ファイルの存在チェック
If FSO2.fileExists(FN) Then
'保存ダイアログ
FN = Application.GetSaveAsFilename( _
FileFilter:="PDFファイル,*.pdf", _
FilterIndex:=1, _
InitialFileName:=FN, _
Title:="PDFファイルの保存")
'キャンセルした場合は終了
If fname = "" Then
Exit Sub
End If
End If
'ここから上を追加
Worksheets(ActiveSheet.Name).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=FN, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub >>244
携帯から補足
filepathの次に以下コード
Dim fc as Long
Dim fn as String
fn =Dir(filepath&filename&"_"&range("a1")&"*")
Do While fn <> ""
fc = fc + 1
fn = Dir()
Loop
下から5行目保存部分
FileName:=FilePath & FileName & "_" & Range("A1").Value & "("&fc& ").pdf", _
厳密にはfcが0のときの処理が必要です >>245
>>246
レスありがとうございます
どちらの関数も初見なので調べてみますね
ヒントだけでもありがたいです、助かります >>249
ありがとうございます
一部修正したら使えました
>厳密にはfcが0のときの処理が必要です
たしかに重複がなかった時も末尾に(0)が付くのはかっこ悪いですね
今後、使うかもしれませんのでこちらも保存させていただきました
何度も申し訳ありませんが>>248も
見てもらえませんえしょうか >>248
キャンセルしなかったら保存のコードがないようです 勘違いです(^^;
画面外になっていました
調べて見ますのでお待ちください >>253
>>255
ありがとうございます
>>248の’キャンセルした場合は終了の下を
If FN = "" Then
に修正したら保存できるようになりました
しかしキャンセルした時もなぜかファイル名Falseで
保存されてしまいます
キャンセルするとFNが空になりThenでExit Subに
なるかと思うのですがキャンセルでもExit Sub
してないように思えます 違った
exit subの上のif文を
if FN=falseに変更で たびたびすいません
falseではなく"False" >>248
'重複が連番
fn1 = "D:\" & Range("a1").Value
I = 0
Do
FN2 = fn1 & Format(I, "(0);;""""") & ".pdf"
If Dir(FN2) = "" Then Exit Do
I = I + 1
Loop >>258-259
できました
完璧に希望の動作になりました
ありがとうございました >>260
ありがとうございます
そろそろ会社出るので家に帰ってから研究したいと思いますが
重複した時に名前を付けて保存で重複ファイル名+連番が
セットされるVBAでしょうか? 質問させてください
121.81
125.86
121.66
統計 125.86になるみたいですが
平均をクリックしても123.11にしかならないのですが何が違うのでしょうか?
分かる方おねがいします。 アフィかなんかで宣伝と思われた困りますので
このHPに掲載されていた画像です。
https://stat.ameba.jp/user_images/20170114/09/gold1977/c3/e9/p/o0508014413845066888.png
これを表したかったです
高値(C列)、安値(D列)、終値(E列)でSUM関数を使えば求められます。
と書いてあるのですが、どうしてもその計算になりません。 統計(とうけい、statistic)は、現象を調査することによって数量で把握すること、または、調査によって得られた数量データ(統計量)のことである。統計の性質を調べる学問は統計学である。 このHPに掲載されていた画像です。
ではなくその人のHPの画像です。 >>267
統計ではなく総計
左から順に最高値、最安値、平均
max、min、average
たぶんここまで読めないとFXは手を出しちゃいけないと思うぞ HPが間違いじゃないかと回答が出ました。
ありがとうございました。 >>260
これが何か分かりました
>>249の重複していない時に(0)が末尾に付かないバージョンですね
>>248のここから下を追加とここから上を追加の部分をこれに置き換えてコピペして
下から5行目保存部分FileName:=FN2に変更したら
以上動作となりました
ありがとうございます >>272
回答が出たって何だよ。筆者に確認してミスでしたって言われたと? すんません
ちょっと向こうのWordスレ過疎りまくってるんでこっち来たんだけど
Wordの知識もバッチリだぜって奴がおられましたら
ちょいと向こうに書いたの解決してやってもらえんですかね
https://mevius.5ch.net/test/read.cgi/bsoft/1464440640/270 WordでExcelみたいな感じで表が作れたらExcelの需要は随分減る気がする 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
A列のリスト範囲内で常に一番上の値を返したいので、以下の関数を組みました。
=INDEX(A:A,MATCH(1,INDEX(N(A:A<>""),0),0))
後からB列を追加し、B列の値が空欄の場合は除外した上で
一番上の値を返すにはどうすれば良いでしょうか。 すみません、質問内容が間違っていました。
テーブル内に作ったリストでA列の文字列が同じものを次の関数でB列にカウントさせました。
=COUNTIF(INDIRECT("A"&1):[@A列],[@A列]))
ここで、C列の値が空白の場合はB列のカウントから除外させたいのですが
=COUNTIFS(INDIRECT("A"&1):[@A列],[@A列],INDIRECT("C"&1):[@C列],[@C列]<>""))
では駄目でした。
どうすれば良いでしょうか。 テーブルの列に関数を作って列全てに反映させてから
行を挿入すると関数もコピーされる場合とされない場合とがあるのですが
行挿入時に関数もコピー(反映)させるにはどうすればいいですか? ショートカットキーのCtrl+Alt+5が効かないんですが、みなさんの環境では如何ですか?
OSはWindows10
バージョンは2016です >>286
タッチキーボードから入力しても何も起こらないんですが本当にキーボードが原因ですか?
そちらでは効きますか? 確かマウス+キーボードと捜査が違う物が幾つかあったはず
Ctrl+Alt+5かどうかは知らん
このへんでも眺めてみては
https://dekiru.net/article/12819/ en.key-test.ru
このサイトで確認したら同時押しが認識されたので
キーボードの故障ではなさそうです >>285
昔と同様に10キーの5はだめだけど、キーボードの5は大丈夫 win10
2003年版
VBAはコードが分かれば走らせられる程度
スケジューリングをするのにエクセルで表を作っています。
今選択されてる所に○を付けていってるのですが、キーボードの右を押すと○が隣に移るようにするにはどうしたら良いでしょうか?
また日曜から月曜に移動する場合も教えてくださいお願いします。 ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel10
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
A B C
1 1 1 あ
2 1 1 1
3 1 1 あ
4 1 1 あ
というデータがある場合、別のシートに、あ が入ってる行だけ貼り付けたい場合、関数だけでできますでしょうか? >>293
すみません、意味がよく分かりません。
具体例とか、図とか入れてもらえると分かりやすいです。
>>294
「貼り付け」というなら難しいでしょう。
VBAでないと無理だと思います。
if関数などの数式を入れて、「あ」が入っていれば表示をする、入っていなければ表示をしない(見た目上、空白にする)というなら出来ると思います。 >>295
293です。
薬の日のエクセルを作っています。
→キーを押してそれをコピーしたらその週のご飯に薬を添える人が分かるようにしたいです。
土曜日の次はその週は奇数となるので1日ズレるので○のセルを1日ずらして翌週にしたいのです。
○をキーボードの右を押して翌週にするにはどうしたら良いでしょうか?
名前日月火水木金土
鈴木ー○ー○ー○ー
田中ーーー△ー△△
佐藤ー□ーー□□ー
翌週
鈴木ーー○ー○ー○
田中△ーーー△ー△
佐藤ーー□ーー□□ >>295
間違えました293です。薬の表作ってます 日付は右じゃなく下に伸ばさないとダメじゃないの?
2003だから特に >>297
上の表の日曜から金曜までをしたの表の月曜日(から)に貼付け
上の表の土曜日を下の表の日曜に貼付け
ってやるだけでは?
あと「キーボードの右を押す」にこだわってるけどそれは変えられないの? >>297
私の理解力が足りないのか、
「キーボードの右を押して」というのが、どういう状況なのか不明です。
まず、「キーボードの右矢印キーを押す」というイベントプロシージャはたぶん作れません。
H列のセルがアクティブセルになっていて、矢印キーで1つ右に移動して、I列がアクティブになるとマクロが実行されるとかはできます(アクディブセルに関係なく、普通にI列をクリックしても実行されてしまいますが)。
ボタンを用意して、それをクリックすると1日ずれるとかいう方法が考えられます。目的次第でしょうけど。 >>300
ちょっとこれは例なので少ないのですがそれをプログラム可能ですか?
毎週80名ぐらいいるのでそれを処理できないかなーと
右を押すのは○の薬の時でコードの仕掛けが分かれば上を△で左の薬を□にしようと思います。 >>301
矢印だから作れないのですか?薬ごとにアルファベッドでもいいのでキーを一つ押して動かすことは可能でしょうか? ずらすとかめんどくさいから 1年分まとめてつくっちゃえばいいいんじゃないの >>304
ごめんなさい
容態によって薬が変わりますのでそれはちょっと… >>305
例えば○を動かしたい場合は
○を右に移すのはどのようにしたらいいでしょうか?
○を探すと言うかエクセルでどうやってリストから探しますか? >>302
> 毎週80名ぐらいいるのでそれを処理できないかなーと
いや、80名だろうが1,000名だろうが選択しちゃえば操作自体は変わらんよ?
> 右を押すのは○の薬の時でコードの仕掛けが分かれば上を△で左の薬を□にしようと思います。
コピーの話なのか個々の入力の話なのかよく分からん
>>305が書いてるようにVBAでカーソルキーを取得できるけどよほどうまく作らないと操作性がすごく悪くなるからおすすめしない そうですね、Altキーなどと組み合わせれば、キーボードショートカット的にマクロを割り当てられます。
どちらにしても、名簿が増えた時にどこまで対応するかなどでコードが変わってきます。 >>308
そうなのですか
○用の矢印を押すと○を探して右に移すっていうのをしたくて
今色々問題があるんだなぁとわかった所です
キー入力を読み取るシステム
文字列を探すシステム
文字列を動かすシステム
これらをしなければいけないのですね。。。 >>309
そのエクセル表のマクロを起動したらALTだけ押しっぱなしになるようにとかは出来ますか?
多分その表はその薬の週移動しかしないと思います そもそも クスリは何種類あるの 矢印だけじゃ4種類しか対応できない
それよりも くすりの名前がついたマクロボタンをつくってそれを押すのがいいと思うけど
またわからないのが、なぜ薬の種類ごとに移動させなければならないのか。いっぺんに全部動かしたほうがいいんじゃないの それは無理でしょう。多分ですが。<alt押しっぱなし
なぜ、そこまでキーボードにこだわるのかよく分からないです。
あと、説明がよくわからないのです(特に○とか△とかの部分が)。
295の例では○も△も□も1日スライドしてますが、それぞれ独立してスライドしたいということ? 結局やりたいことは、表全体の日曜日〜土曜日の部分をコピーして月曜日にはる。
土曜日の右にはみ出たところを日曜日にはるという認識でok?
土曜日の右が空欄じゃないと駄目だけど。 あ、土曜日を切り取って日曜の前に挿入すれば良いか・・・ エクセル使う意味がないね
でも頑なに自分のやり方は変えない人間だろうな
お前ら黙ってオレのやりたいコードをタダで作りやがれ!
みたいに感じる >>313
そうです押しっぱなし
○△□は薬の種類です
薬の種類ごとに曜日の移動が必要なのです
人ごとの移動は無いんですけど人の登録番号順なので薬はごちゃごちゃでコピペ毎回大変になってしまいます。 >>314
そうです。空白なら作っても大丈夫ですよ。 うわ大変そうだ
でも矢印はカーソルだから無理に近いね
てかそんな大変なこと今に始まったことじゃないんだろ?今はどうやって管理してるんだい? で、薬の種類は何種類くらいあるんですか?
>>312さんの言うようにボタンを作るのがいいと思いますよ。
同じ人が複数の薬とかは、ないんですか? >>319
今は薬ごとで使いきりのカルテのデータを頼りにデータファイリングされてます。
No.xxxxx 鈴木さん x/x水
3週間 8時間毎
朝昼晩
スタートー○ー13:06 >>320
50種類ぐらいです
ありますが人と薬は1人に対して一つの薬です。 いや、自分も分からない。
一番分からないのがキーボードにこだわる理由。
次に分からないのが、○だけスライドするとか、△だけとかいうのか不明。
下の例で言えば、○をどうにかしたら、こんな風に○の入ってる鈴木さんだけスライドするということ??
名前日月火水木金土
鈴木ー○ー○ー○ー
田中ーーー△ー△△
佐藤ー□ーー□□ー
鈴木ーー○ー○ー○
田中ーーー△ー△△
佐藤ー□ーー□□ー ちゃぶ台返しになっちゃうけど…
>>321みたいなデータがあるならそれから一覧表を作るソフトをどこかに頼んで作ってもらった方がいいような気がする
投薬ミスとか下手したら生死に関わりそうだし >>324
リスト番号で違うので鈴木さんが3回ぐらい他の薬で出て来ますよ >>326
それは同感。
投薬ミスの原因が知らない人に書いてもらったコードでしたとか、かなりマズイでしょう。
コード自体に問題はなくても、データ増えてきたり、誰かが表をいじっておかしくなる可能性は十分ある。 >>321のようなデータを元に毎週の表をつくってるんだとしたら、このひとはいま何周目なのかってことも管理しないといけないね。
それと、>>321からは曜日をずらすという要件は読み取れない。なぜずらすんだろう。
自分だったら>>321を元に曜日じゃなく月日でテーブルをつくってピボットで作表するかな >>325
そうです。○の列だけ移動です。
ボタンでも大丈夫だとは思いますが… >>329
何周目かをカルテに追記して行きます。
そしてリリカとか精神系の薬は1日の上限の量が決まっています。
上限量まで行くと副作用が完全に解毒に至るまでで1日がずれます。
突発的な発作でニトロなどの効果の短い薬でも他との効果併用があるので時間がズレます。 なるほど だとしたら投薬の量、間隔によっては曜日がずれない週もあるとか、同じ薬でもひとによってずれたりずれなかったりとかもありうるんだろうか
やっぱり横に日付を並べてある程度のスパンで、3週間なら3週間分まとめて最初につくって、今週分を印刷、というふうにしたほうがいいとおもう 4種類ならともかく、50種類を矢印キーでどうやって制御しようと考えていたのか分からない。
あと、○△を薬の名前にすると、セルの横幅(列幅)が広くなって見にくくなると思うけど、そのへんは? >>332
始めはそれでうまくいくと思うのですが、2週目ぐらいからズレるんです。
その時にポチってやって印刷出来たらなと >>332、333
矢印と言うのが制御の妨げとなるのですね。
例えば矢印なのであってlyrとか略文字を打って移動印刷して変更しないで閉じれば移動したことにはならないと思って。ごめんなさい。矢印は文字列だと思ってました。 あ、データをあらかじめ追記で作っておいてカルテNoを入れた時にchangeのコードでカルテNOの行を切り貼りするのを$で固定したらなんとなく出来ました。 色々夜分遅くまで教えて下さってありがとうございました。 また俺らで解決しちまったな
敗 北 を 知 り た い 今初めて見たんだけどさ、もしかして
この人が言ってる矢印ってさ
オブジェクトで作成したボタンに「→」が表示されていればいいんじゃないの? 有用かどうかはともかくとして、矢印キーで操作したいだけなら
Application.OnKey "{RIGHT}", "一週間ずらすプロシャージャ"
ってするだけなのに、何故一言もOnKeyが出てこないのか。
あ、VBA使える人はここにいませんでしたね。
まぁ矢印キーを上書きするのは色々弊害が大きすぎるから素直にボタンにマクロ登録したほうが良いとは思うけど。 >>342
なんでわざわざ終わった話にバカさらしに来るんだろう… → >>305 >>342
OnKeyメソッドは矢印キー単独は登録できない仕様 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
シート名「設定」のセルA1が
文字列「八百屋」の時はシート2と3を印刷
文字列「魚屋」の時はシート2,3,4を印刷する
ボタンを作りたいんですが
VBAでどのように入れれば上手く動くでしょうか? >>346
>【3 VBAが使えるか .】 はい
マクロ記録はできなかった? >>344
OnKeyメソッド、マクロの登録かなにかと勘違いしている? >>346
エラー処理とか、シート2がないときどうするとか、
もっとたくさんのシートを処理したいとかあると思うけど、
とりあえず、シンプルにやりたいことだけだとこんな感じでは?
Sub test()
If Worksheets("設定").Range("A1").Value = "八百屋" Then
Worksheets(2).PrintOut
Worksheets(3).PrintOut
ElseIf Worksheets("設定").Range("A1").Value = "魚屋" Then
Worksheets(2).PrintOut
Worksheets(3).PrintOut
Worksheets(4).PrintOut
End If
End Sub 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel*2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
フォルダ内に
『00_集計』というファイル
と『01(aaa)_調査票』『02(bbb)_調査票』…
を入れています。
『調査票』の数は5〜50ぐらいです。
『調査票』ブックの『回答シート』の5行目を
『00_集計』の『集計シート』に転機したいのです。
自分で作業する時は、
『01(aaa)_調査票』『02(bbb)_調査票』…を手動で開き、5行目を選択したら
『00_集計』の『集計シート』の転記するマクロを組んで貼り付けし
その後ブックを閉じて繰り返し作業しています。
今後、引継ぎなどを考えた時に、
フォルダ内の『01(aaa)_調査票』を開き、転記し、閉じる。
次に『02(bbb)_調査票』を開き、転記し、閉じる。
と作業を行うマクロを組もうと思うのですが、
順番に『01(aaa)_調査票』02(bbb)_調査票』を開くところがうまくいきません。
フォルダの数自体が10数個なので、ファイル名も(aaa)(bbb)のところに違った文字が
入るので、ファイル名は固定していません。
ファイル名が固定されていないのに、
フォルダ内のファイルを順番に開いていく方法がありましたら、
ご教授ください。お願いします。 データはひとつのシートにまとめろ へんなマクロ組むよりよっぽどマシ >>351
いやそれは最悪
正規化したテーブル毎にシートを作った方がいい 調査票が何種類もあるならそうするべきだが、1種類だろ 指定フォルダー内の全Excelファイルを開くマクロ
ttps://www.relief.jp/docs/excel-vba-open-excel-files-specified-folder.html
【エクセルVBA入門】For Each〜Next文でフォルダ内のブック全てを開く方法
ttps://tonari-it.com/for-each-next/
VBAでフォルダ内の全てのブックからデータを取り出す方法
ttps://qiita.com/takahiro_itazuri/items/08754db91c6ab72deb03 346です。
自己解決できそうです。
workbooks.openのファイル名を変数で開けばいいことに気づきました。
お騒がせしました。 >>355
355さん。ありがとうございます。
実は上から2番目のリンク先は見ていたのですが、
できませんでした。
1番上のサイトが
自分にわかりやすかったです。
本当に、ありがとうございました。 >>352・353・354
皆さん。ありがとうございます。
本当にその通りです。
自分でも、そう思います。
ただシートの変更の権限がないのと
周りのスキルが
関数よりも電卓!
『エクセルは難しいから一太郎でもいい?』
ってな感じなので、
先の非効率な方法をとらざるを得ないわけです。
皆さんありがとうございます。 職場って本当大変だよな
社長が「ワシが男塾塾長、江田島平八である!!」って言ったら
もう役員はおろか社員の俺らなんてなんもできねえもん
ホントなんも言えねえ 351さん
359さん
ありがとうございます。
あの後、2時間くらいで完成しました。
エラー処理など完ぺきではありませんし、
Functionプロシージャを使えばもっとすっきり
まとめられそうだなーと思いながらも
とりあえず、完成としました。
本当にこの板は、自分にとって
最後の頼みの綱です。
※それ以前の書き込みもヒントになっています。
本当にありがとうございました。 ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows7Pro
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 はい(VBAを貼ってもらえたら組み込んで使えるだけですが)
【4 VBAでの回答の可否】 可(できれば関数で)
社内システムから下記のような列の並びの受注伝票一覧がExcelファイルで出力できます
受注番号 受注日 商品名 客先 仕入先 受注数 単価 受注金額
この一覧で受注金額の列を一番上の行から下まで合計して
特定の仕入先の上位5位の客先を知りたいです
一旦ピボットテーブルで客先別、仕入先別に集計するのは
毎回一手間増えるのでやりたくないです
よろしくお願い申し上げます 重複しないリストを関数で作りたくて検索してたらこれを見つけ
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1099550340
下記のように作ったのですが、
L4=IF(COUNTIF(D$4:D4,D4)=1,ROW(D4),"")
M4=IF(COUNT(L:L)<ROW(D4),"",INDEX(D:D,SMALL(L:L,ROW(D4))))
重複しないデータは62個あるはずなのに59個しか抽出されません
何が原因でしょうか? >>364ですが自決しました
データがあるのが4行目からなので
M4=IF(COUNT(L:L)<ROW(D4),"",INDEX(D:D,SMALL(L:L,ROW(D4)-3)))
で正しく機能しました >>364です
M4=IF(COUNT(L:L)<ROW(D4)-3,””,INDEX(D:D,SMALL(L:L,ROW(D4)-3)))
でした >>365
「自決」って・・・
略して良いものと悪いものがあるがな。 >>363
>特定の仕入先の上位5位の客先を知りたいです
特定の仕入れ先って何?
特定の商品の仕入れ先のうち上位5位?
あと関数は一行だけ?計算用に列使ってもいいの? >>369
受注金額の列を見て例えば仕入先Aの上位1位から5位の客先a〜eの客先名を出したいです >>367
ネットスラング?
「自己解決」の略として使われる場合があり、掲示板の質問スレなどで「自決しました」←「早まるな!」のようなやり取りが時々見られる。
使用者は元の意味を知らず素で使っている場合と知っていてネタ的に使っている場合の両方があると思われる。
https://dic.pixiv.net/a/自決 >>371
作業列使って、作業列をINDEXすれば難しくはないが、同じ金額の場合の処理が面倒
五位が複数や、四位が三つ以上とか ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可・
▼━関連スレ━━━━━━━━━━━━
セルA1の数値を別のブックへハイパーリンクを作成したいです。
1.ブック【要求票】より【台帳】A列をオートフィルで最下行の数値をコピー。仮に10とします。
2.【要求票】のセルA1に貼り付け。
3.【要求票】をA1にリネーム。ブック【10】とします。
ここまでマクロで何とか出来ました。
http://fast-uploader.com/start/7090933900754/
4.【台帳】のA列10に、ブック【10】のハイパーリンクを貼り付けができません。
よろしくお願いいたします。 >>374
単一ファイルをアップするなら、xlsmファイルのままでアップしてほしい。
zipファイル開いて見てくれる人はあんまりいないと思いますよ。xlsmでもそうですが。
要求票、台帳は、別ブックなのか、シートではダメなのか?
ここまで出来ましたとあるけど、出来ているのは、
「A列のデータを1行分だけ下にオートフィルして、一番下のセルをコピーする」
これだけしかできてないですよ。 >>376
Fast uploadetの仕様でxlsmファイルはアップロードできませんでした。
台帳と要求票は別ブックです。
2と3は参照先がないと動かなかったのでアップロードできませんでした。
申し訳ありません。 可能ならブックは1つにして、シートで分けた方がやりやすいと思いますよ。
この場合は、リネームする10のみを別ブックにするとか。 >>379
ありがとうございます。要求票から台帳の番号を取るのではなく、逆にすれば良かったのですね。ハイパーリンクの仕組みはさっぱりですが、勉強したいと思います。
>>377
要求票を発行する対象が50人ほどで、要求票が1日20通ほど発行されているので、同じファイルでは無理でした。
ありがとうございました。 複数のファイルを両面印刷で指定のプリンターで一括印刷するにはどうしたらいいんや? ちなみに編集を有効にする?みたいなのをいちいち押さないといけない状態 初歩的な質問かもしれませんが、よろしくお願いします。
競艇の分析がしたくて、結果をコピペしたら
例)4-2-3が2004/2/3と日付になります。
4-2-3や423や4/2/3にする方法ありますかね? >>383
それって一つ一つ開いてPDFにしないといけなくないんじゃないの? >>384
貼りつけ先のセルの書式(表示形式)を事前に「テキスト」に変えておく MIN関数で返されたセルの1つ上のセルを参照したい。
どうすればいい? MIN(A2,A4)の結果
A2を返す場合はA1を、A4を返す場合はA3を
B1に参照したい
って感じです。 >>389
値の重複がないならmatchとindirectでいけそうだけど >>388
=index(表示させたいデータがある範囲,match(min(a2:a4),a:a,0)-1) 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel97
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
・関数のコピーについて
2か月くらい前までは関数の入ったセルの右下の+を縦にドラッグする事によってコピーできていたのですが、
なぜかできなくなりました。
というか、関数はコピーできているのですが、セルの表示が反映されなくなりました。
コピー元の表示がそのままズラッと並んでしまいます。
どうしたらいいか教えてもらえないでしょうか? >>395
ありがとうございます。
これに乗っている修正パッチは古すぎてもうダウンロードできないようです。
つまり、もう改善できないという事でしょうか?
Excel97なんで最新のExcelを買うべきなんでしょうか・・・ >>391
IF関数でできました。
ありがとうございました。 >>396
スレ違いになるかもしれませんが、マクロなどExcel固有の機能を使ってないのであれば、
無料で使えるLibreOfficeのCalcやGoogleスプレッドシートなど、いかがでしょうか? pic.twitter.com/a05wFJpatH
https://twitter.com/5chan_nel (5ch newer account) ttps://i.imgur.com/AtBjJNC.png
同じ「1」なのですが若干見え方が違います
表示形式は同じ「標準」なのですけど
すごく初歩的な質問で済みませんがよろしくお願いします >>403
上のセルの書式が「折り返し」になっているとか。 >>404
ありがとうございます
折り返しってどこで設定するんだろうといじっていたら
文字サイズが違っていました、まぬけな間違えでした ttps://i.imgur.com/EEHnL5D.png
左側三つの文字サイズが9、右二つが11
右から二つ目に数字を入れると
左三つの文字サイズが9へ変更
&
範囲選択していないはずの条件式書式(色付け)が横にずれて反映されてしまいます
どういうことでしょうか?お願いします >>406
行や列を挿入またはコピーして、
左or上隣りを引きずったのでは?
規則性がなく部分的におかしくなっているなら、
もうゴチャゴチャだと諦めて、
書式は最初から設定し直す。 >>407
ありがとうございます
検証が不十分なのですが
おかしくなるセルに上から順に数字を入れていくと該当のセルがおかしくなる
上のセルが空白だと正常
のようです すんません!!
前回はWordでしたが
今度はPowrPointに詳しい方はこのスレにおられませんか!
白黒印刷の時の背景の白文字的なやつなんだけど・・・
やっぱり向こうのスレ過疎ってて誰からも返事なくて・・・・・
誰かボスケテ!!
https://mevius.5ch.net/test/read.cgi/bsoft/1172850945/420 ヘルプを表示させようとすると
「ヘルプビューアーに原因不明の問題が発生しました。続行できません。」
と出て表示できません。解決策ご存知の方おれらますか?
EXCEL2010、Windows7sp1(64bit)です。 >>409
多分、パーポって略し方がスレ住民の反感買ったんだと思われる 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可・
▼━関連スレ━━━━━━━━━━━━
「管理台帳」から作成されたブック「要求票」に必要事項を入力後、
管理台帳の2列目以降に貼り付けを行いたいと思います。
>376 379様のおかげでは管理台帳のハイパーリンクで要求票を
管理できたのですが、一覧がほしいとのことです。コピペでは間違いが
あったので避けてほしいと言われました。 連番もまともに発行できない
次第です。どうかよろしくお願いします。
http://fast-uploader.com/file/7091536737390/ >>414
「A3は数値のみ」とあるけど、B2の間違い?
仮にB2に数値をもってきたいとして、どこからどうもってきたいのかが分からないと無理でしょう。 >>415
申し訳ありません。要求票のセルB2からM2までを、管理台帳のb列に貼り付けたいのです。
ボタン2で作成されたブック「11」でしたらブック「11」のセルB2からM2までを
管理台帳のセルA12(番号”11”)右、B12に貼り付けを実施したく。
よろしくお願いします。 つまり、管理台帳のB12からM12に、11.xlsxのデータを転記したいということですか?
1つはindirect関数を使う方法があるけど、参照先のブックが開いてなきゃダメ。
マクロでするとしたら、どこ時点のデータを転記するかを考えないと。
例えばボタンを押して管理台帳のA列に11が入力されました。
その時点で11.xlsxにデータが入っているのか、それともその時点では空で、それから入力をするのか? (1)要求票のハイパーリンクをクリックして、11.xlsmを開きました。
(2)11.xlsmのB2からM2に関数や手入力でデータを入力します。
(3)入力し終わったら、11.xlsmにマクロボタンがあるとして、それをクリックしたら11.xlsmから管理台帳の12列目に転記されて、11.xlsmが閉じます。
みたいな流れかな? >>414
ttp://fast-uploader.com/file/7091551933613/ 誰かアップロードセンターをオフにする方法わかりませんか? >>415
ありがとうございます。おかげで助かりました。
M2どころかABまで項目が増えましたが、なんとか解決できました。
VLLKUPでこれだけ参照するとブックも1MBにもなるのがわかりました。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 マクロコピペで手順など教えていただければ
【4 VBAでの回答の可否】 できれば否
ロックされていないセルだけ全部選択することは可能でしょうか? 全部選択して何するの?
したい事が出来れば良いんじゃないの? 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい・
【4 VBAでの回答の可否】 可・
サーバに保存しているブックをpdf形式でローカルのマイドキュメントに保存したい。
¥¥gv9999¥本社¥総務部¥苦情にあるブックをpdf形式で<ユーザー名>¥マイドキュメントに保存したいですが、ユーザー名が不特定多数です。ユーザー名は数字6桁です。よろしくお願いします。 >>424
環境変数 %USERNAME% から取得するんじゃダメなの? >>424
ダイアログで保存先のフォルダをユーザーに指定してもらう方法は?
ユーザーの意図しない結果にならない事は防げると思うし、どんな処理をしてるかわかりやすいと思う >>424
おそらくVBAで自動化したいという意味なんだろうけど、どこまでやりたいかが不明。
一気にやりたいのか、それとも各ユーザーがファイルごとに各PCからできればいいのか。 医薬品のgs1コードをバーコードにして印刷してスキャンできるようにしたいのです >>425、426、427、428
ありがとうございます。
当初は<苦情ブック>という入力フォームから<集計ブック>というブックに転記するだけ
でしたが、苦情の2重報告、マネージャーを通していない、集計ブックの非公開(公開して
前に改ざん、削除されました。)、<集計ブック>入力の誤記などがあり、ローカルに保存
してマネージャーがメールで424のマネージャーに報告する方法を思いついたのですが、質
問した通り、「てローカルに保存」する方法がわからず、行き詰っておりました。
PDFですが<苦情ブック>はプルダウンとindirect、30か所のVLOOKUPで1MBあるため、
単にローカルに保存してメールに添付する方法は却下されました。そこでPDF形式でファイル
サイズを小さくすることにしたのですが、「PDF形式でローカルに保存する」方法がわかりません
でした。
>>427のおっしゃる通り、ユーザーに指定する方法もありましたが、ディレクトリの概念が
乏しいようで、どこに何を保存したかわからないとの苦情を受けました。ファイル名の統一
もありますが。
>>428 「各ユーザーがサーバの<苦情ブック>を使って処理の自動化」と思います。
自分も末端なので上司の意向、というか仕様を理解できていません。 >>430
ローカルと言うけど、windowsのバージョンによって、マイドキュメントだったり、ドキュメントだったりするとら思うけど、全て7?
サーバーというのは、会社のファイルサーバー?NAS?
そちらにフォルダ分けして保管する方法もありそうだけど。 >>431
OSはwindows7に統一されています。
近々10に、EXCELも2016にになるそうですが。
サーバはファイルサーバのみ。NASではありません。
マネージャーや同僚も明確な仕様を提示できていない事が原因なのです。
Accessならもっとスムーズかもしれませんが当方にスキルがありません。 ヘルプデスクかコールセンター業務っぽいのに、ユーザーがIT知識が低すぎる感じ。
PDFにしたところでExcelで開けない、検索性が悪いなど期待した効果は得られないだろう
ユーザー毎にアクセス制御可能なCLIパッケージの導入検討をするべきだろう >>424
ブックをマクロブックにすれば、できると思うけど。
ただ、色々ハードルがあると思いますよ。
何台あるのか知らないけど、各PCでセリュリティの設定したりできるのかとか。
win10に変わったら保存先のパスも変わってくるだろうし。
マイドキュメントに保存するときも、pdfのファイル名をどうするのかとか。
そもそも、仕様の理解できてない人の説明では、なんとも。 PDFで保存するだけなら、これでできそうかな。
7のマイドキュメントでも10のドキュメントでも同じっぽい。
7の環境がないから試せないけど。
PDFのファイル名をどうするかとか、すでにそのファイルがある場合にどうするかとか、
いろいろあるけど。
Sub make_pdf()
Dim Path As String
Dim WSH As Variant
Set WSH = CreateObject("WScript.Shell")
Path = WSH.SpecialFolders("MyDocuments") & "\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=Path & "aaaa.pdf"
Set WSH = Nothing
End Sub 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
日付にaaaを加えて曜日を追加したんですが
日曜日の横列のみ削除したいのですが、どうすれば良いのでしょう?
縦が日付で横がデータです
日と付いてる列だけ消したいんです
お願いします >>437
オートフィルターで日曜日だけ抽出して、そのデータを手動で一気に消す
行そのものを削除したい時は作業列に通し番号を入れて、作業列ごと削除したあとでソートしなおす やっぱ手動じゃないと無理っすか・・・
ありがとうございました >>441
検索(Ctrl+F)→検索文字列「日」、セルが完全に同一〜をチェック
→「すべて検索」をクリック
→「検索と置換」ウィンドウがアクティブな状態でCtrl+Aで、検索結果をすべて選択
→ホームタブのセルグループから「シートの列を削除」を選択
excel2016ならこれでできると思うけど、2010は環境がないので試せない。 >>441
ちょっと説明が難しいんだけど、ワークシート上の関数だけだと、見えなくすることは出来るけど削除することはできないんだよ
セルに入ってるデータや数式の削除は手作業かVBAを使わないとできない ちょい訂正。
(1)検索(Ctrl+F)→検索文字列「日」、セルが完全に同一〜をチェック、検索対象を「値」に変更
(2)「すべて検索」をクリック
(3)「検索と置換」ウィンドウがアクティブな状態でCtrl+Aを押して、検索結果をすべて選択
(4)ホームタブのセルグループから「シートの列を削除」を選択
(ショートカットならCtrlと-(マイナス)で、行全体を選ぶ)
※必要に応じて(1)で特定の列を選択する等しておく。
>>443
そういう意味では、自動で削除は無理ですね。 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい(少し)
【4 VBAでの回答の可否】 可
数字が3つ以上連続している場合は"〜"や"-"で途中の数字を省略して
表示する方法はありますでしょうか
具体的には作業が1〜10,000程度まであり、担当者が2人いたとして、それぞれが
担当者A 1,2,5,6,7〜
担当者B 3,4,8,9,10〜
というように担当する場合で、エクセル上では作業の番号の隣の列に
担当者が入力されています(作業の振り分けに規則性はありません)
作業の内容はシート1枚が1ページとして印刷されており、ページ番号が
作業の番号に対応しています。何番の作業がどちらの担当かの一覧を
印刷して、それを見ながら作業内容の書かれたの紙を担当者毎に2つに
わけたいのですが、全ての数字を記載してしまうと確認が大変なので
担当者A 1,2,5〜7(または5-7)
担当者B 3,4,8〜10(または8-10)
というように連続している場合は省略したいのですが、なにかいい方法は
ありますでしょうか
よろしくお願いいたします >>445
1つのセルに、複数の数値がカンマ区切りで入力されてるんですか?
数値とカンマは必ず半角? >>445
A列に番号、B列に担当者名が入ってるのを集計するイメージかな?
その場合ならC列に担当者@用の作業列、D列に担当者A用の作業列を作って集計すれば良いと思う
C列はB列が担当者@ならA列の番号を、違うなら空白みたいなイメージで、かつ1行上に番号が入ってる場合は「〜」にするとかそんな感じの処理 ああ、そういうことですね。失礼。
>>446は無視してください。 >>445
全ての数字を記載して、条件付き書式で連番だったら色を塗る、じゃ駄目? ( ´ー`) .。oO(ある意味、頭の体操パズル・・・) VBA使う方法しか思い付かん
ワークシート関数でやろうとすると、ものすごく数式が長くなりそうで、とても考えたくない 445です。
「数字が3つ以上連続している」という条件はあきらめ、「5〜6,8」とかなってしまっても
OKということにしてなんとかなりました。みなさんありがとうございました。
最大で1100件くらい連続しているところもあったので、なんとかなってよかったです。 すみません
15個の好きな数字があって、その中から1つの数字を選んだ後
違うセルにその1つの数字以外の14個の数字の中から更に好きな数字を選ぶことってできる?
例えば
1,3,7,12,15の中から7を隣かどこかのセルに選んだ後
更に違うセルに7以外のどれか4つの数字の内1つの数字を返す方法ってありますか? >>453
例えば縦に連続した15個のセルに数値が入ってるとして、index関数で1〜15までの乱数番目の数を引っ張るとする
もしそれが選んだ数だった場合は乱数に1足した数をmod関数で1〜15の範囲に直した物をもってくる
これでどうかな?
選んだ数以外が全て同じ確率じゃなくても良いなら 【1 OSの種類 】 Windows10
【2 Excelのバージョン 】 Excel2016
CTRL+SHIFT+ Lでのオートフィルタのショートカットができません。
キーシーケンスの設定も変更してみましたが、直せませんでした。
どこか他に設定を確認した方がよい箇所はありますか? >>455
直接的な回答ができなくて申し訳ないけど
・特定のブックだけの現象なのか
・他のエクセルのショートカットは動くのか
・他のオフィスソフトのショートカットは動くのか
・各キーの故障の可能性無いのか
など、原因をもう少し追求してみると何かわかるかもしれません >>456
ありがとうございます
一応試したこととしては
Excel2010でショートカットキー使えるか→使える
他のショートカットキー→CTRL+SHIFT+P でフォント変更は呼び出せた
キーボードのチェック→文字は問題なく打てた
ブックはExcel立ち上げてすぐの新規のブックで、念のためPCの再起動をしても解消しませんでした
他のオフィスのショートカットは試してないので、試してみようと思います 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 否
【4 VBAでの回答の可否】 否
Sheet1のA列に期限日、B列に作業内容、C列に「未」か「済」のどちらか の表があります。
ここからC列が未になっているものだけをSheet2に期限日と作業内容をリスト化したいのですがどうすればよいでしょうか
Sheet1を編集したらSheet2も連動するようにしたいです。
ちなみにSheet1は加工が許されていないので補助列の追加などはできません。
Sheet2だけで何とかする方法を教えてください。
【例】
Sheet1
A B C
2018/10/01 資料作成 済
2018/10/02 報告書作成 未
2018/10/03 給与査定 未
2018/10/04 見積もり作成 済
Sheet2
A B
2018/10/02 報告書作成
2018/10/03 給与査定 >>458
excel オートフィルタ 関数 で検索すると出てきます。
要は、オートフィルタでできることを、関数でやってしまおうということですよね。 >>459
それだとSUBTOTAL関数でオートフィルタの表示に連動させた計算結果をだすサイトが出てきます。
関数の式で教えてください。 >>458
Sheet1は弄れないならSheet2にリンクを貼ってから処理するだけ作業列も使い放題 >>458
期限順に並べ替える訳ではなく、単純に上から順番に抽出するだけなら、作業シートを作って、元シートの内容をリンクさせる、countifで上から何番目の未完了なのか数えて、抽出シートにvlookupかindexとmatchてひっぱってくるのはどうでしょう? こうやってやりかた教えてるのにとにかく式は?って聞いてこられるのはつれぇな >>467
提案した全部の内容に関して全ての数式を書く気にはならないので、説明した内容で「この部分の意味がわからない」「この部分の意味はわかるけど、実装する数式がわからない」とか個別に聞いてくれたら(程度によっては)回答します
そもそも、仕事の依頼であればきちんとエクセルのブックで納品しますけど、軽い相談であれば、やり方の提案はしますが、最後は自分で頑張ってくださいね、って思ってます >>468
文章はどうでもいいので関数式だけ書いてね >>464
初心者なんで優しくしてくださいよ
どこかのサイトに全く同じのが載っているのなら
アバウトに検索方法じゃなくて具体的にURLで頼みます >>471
ここは初心者に優しくするスレじゃなくてドヤ顔するスレ windows7
excel2010
現在データ入力作業中なのですが、質問させていただきたいです。
ブックが100個あり、すべて同じセルにデータが入力されています。
このデータを別ブックのシート1にまとめたいと思います。
そこで、ブック1のデータを集計ブックのセル1に、ブック2のデータをセル2に…といったVBAプログラムが知りたいです。
できるだけ短いコードが知りたいのですが、どなたかご教示頂けませんでしょうか?
よろしくお願い致します。 >>473
ブックの名前は?
全て同じフォルダにある? >>475
名前は(1)〜(100)
全て同じフォルダ内にあります。 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい・
【4 VBAでの回答の可否】 可・
セルA1が空白なら「社員番号がありません」とウィンドウでキャンセル、
セルB2が空白なら「日付がありません」とウィンドウでキャンセル、
セルC3が空白なら「時刻がありません」とウィンドウでキャンセルする方法がわかりません。
御指導、ご鞭撻をお願いします。 if range("a1").value="" then mes1="社員番号"
if range("b1").value="" then mes1=mes1 & " 日付"
if range("c1").value="" then mes1=mes1&" 時刻"
if mes1 <> "" then
msgbox mes1&"がありません",vbokonly
exit sub
end if >>473
ファイル名に規則性があるなら、indirect関数でファイル名の部分を変化させて参照するのはどうでしょう?
ブック開かないと重いのであれば、自分ならvbaで全部のブックを結合して参照します >>480
ありがとうございます
後出しで申し訳ないのですが、参照ブックの特定の1列のみを抽出したいのです。
また、参照ブックはコピー及び結合などの手を加えることが禁止されています。
INDIRECTも考えましたが、ブックの数が数なので、すべてを開いておく事は難しいです。
回答頂き大変有り難いのですが、別の方法はありませんでしょうか? >>478
コンパイルエラー
変数が定義されていません。
と出ました。 >>478
自己解決しました。option Ecplicitを削除したら機能しました。
ありがとうございました。 >>481
10年位前に作った同じフォルダ内のエクセルブックの一番左側のシートを結合してシート名をファイル名の頭4文字にするコードです
元のシートをそのまま残せば、結合しても問題無いのでは?
Private Sub CommandButton1_Click()
Dim fn As String
Dim wk As Workbook
Dim wh As Worksheet
fn = Dir(ThisWorkbook.Path & "\*.xls", vbNormal)
Do While fn <> ""
If fn <> ThisWorkbook.Name Then
Set wk = Workbooks.Open(ThisWorkbook.Path & "\" & fn)
Set wh = wk.Sheets(1)
wh.Name = Left(fn, 4)
Call wh.Copy(, ThisWorkbook.Sheets(1))
Call wk.Close(False)
End If
fn = Dir()
Loop
End Sub >>485
ありがとうございます
少し改変し使わせて頂きました
無事作業も終了しました。 >>483
なんで悪化させてんの
そのくらいなら無視しても良いレベルだけどさ、、 >>487
余裕がなかったのです。
>>484
200以上になるので無理でした。 >>488
いや、変数定義しろって言うエラーなのに、定義しなくていい方に持って行ってるからさ。 windows10
excel2016
マクロ不可
質問です。
範囲選択してる時に、選択されている範囲を取得(表示させる)方法ってありますか?
例えばA1:H500を範囲選択すると、名前ボックスにはアクティブセルのみが表示されますよね。A1とか。
A1:H500だというのを確認する方法が知りたいです。
Ctrl+Tで、テーブル作成ダイアログを出して(その後キャンセルする)確認する方法などしか思いつきませんが、スマートな方法ってありますか? >>490
それよりスマートかは分からないが、Shift+ENTER >>491
ありがとうございます。
なるほど、アクティブセルが一番左上の場合には使えますね。参考になります。 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
https://i.imgur.com/eP5u2A1.png
こんな感じで右側のデータベースに野菜とそれに対応する画像があって
左側の記録表に野菜の名前を入力すると自動的に画像を隣のセルに表示する、という表を作りたいです
excel vlookup 画像 で検索すると数式→名前の定義を利用した方法の解説が出てくるのですが列すべてに対応出来ません
よろしくお願いします >>493
その画像の通りなら普通に名前定義で出来るはずだが、列すべてと言うのが何を言いたいのかわからない G3〜G6に名前(トマト、キュウリ…)を付ける→G3(トマト)セルをコピー→C3に「リンクされた図」で貼り付け→名前の定義で「名前」を「野菜」、「参照範囲」を=INDIRECT(Sheet1!$B$3)→B3セルに適当に文字入力(エラー回避)→C3の画像を選択して数式バーで「=野菜」と指定
という風にやってC3はB3を反映しますがC4がB4を反映してくれる訳ではありません。この方法だと手作業でこれを繰り返して大量の名前の定義を作り出すことになってしまうので別の方法がないかと
言葉足らずでした >>493
自分だけでいいならfont-awesomeを使うとか〜 >>495
なるほど。名前定義は引数取れないから無理そうだね。VBAでユーザー定義関数作ればなんとかなりそう 【1 OSの種類 .】 Windows 10 Pro
【2 Excelのバージョン 】 Excel 2013
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
「このブックの自動回復を行わない」にチェック付けても、強制終了時に自動回復ファイルが作成されてしまうのですが、
回避方法はあるでしょうか? ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
入力時常に上書きモードになるので挿入モードに変更したいです
insertキーは押しておらず、緑色のバーで右クリックを押すと出てくるユーザー設定では上書きモードにチェックは入っていません
他に何をすればよいですか 【1 OSの種類 .】 Windows8.1
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ(起動して入力するまではできます)
【4 VBAでの回答の可否】 可
初心者です。説明が下手なので画像付きで質問させていただきます。
Sheet1で図のように入力すると、自動でSheet2に図のように入力されるプログラムを作りたいです。
Sheet1:https://i.imgur.com/jzCfjb5.jpg
Sheet2:https://i.imgur.com/ChU3p4G.jpg
よろしくお願いします。 >>503
シート1の3行目以降も同じように入力していくのを想定してるの?
その場合、そのデータはどこに増えていくの?
シート2の11以降に増やすのか、シート3を作ってそこにデータを入れるのか。 >>503
すみません補足です。
Sheet2のA列の数字は既に入力されており、Sheet1で第2行,A〜Dのデータを入力すると、Sheet2の画像のように自動入力されるプログラムを作りたいです。 転記するのはいいとして、どのタイミングで転記するか決めないと。
ボタンを押すのか、あとは例えばE2をダブルクリックしたら2行目を、E3をダブルクリックしたら3行目を転記するとか。
4項目全部入力したら転記するのかとか、消す場合はどうするのかとかも決めておかないと。 >>507
ボタンを押すと転記する形でお願いします。
何度もすみません。 記載行に重複がある場合は下にある行の内容に書き換えても問題ない?
それともメッセージで既にデータがあります!とか確認する? >>507
見落としていましたが消す場合は空白を入力しようと思います。
>>509
書き換えで問題ありません。 ボタンを押すとなると、データが複数ある時にどの行のデータを転記するかというのを決めなきゃいけない。
普通は一番下の行だろうけど。 Sub test()
Dim i As Long
Dim myRow As Long
'myRowは一番下のデータがある行(C列で上から下に検索する)
myRow = Cells(1, 3).End(xlDown).Row
'Sheet2をオブジェクト変数Ws2に
Dim Ws2 As Worksheet
Set Ws2 = Worksheets("Sheet2")
'最終行のC列、D列に数値が入っていて、D列の数値>=C列の数値である場合のみ転記をする。
If IsNumeric(Cells(myRow, 3)) = True And IsNumeric(Cells(myRow, 4)) = True And _
Cells(myRow, 3) <= Cells(myRow, 4) Then
For i = Cells(myRow, 3) To Cells(myRow, 4)
Ws2.Cells(i + 1, 2) = Cells(myRow, 1)
Ws2.Cells(i + 1, 3) = Cells(myRow, 2)
Next i
Else
MsgBox "入力値が適正ではありません"
End If
End Sub >>503
vba使わないで関数で引っ張るのはどうですか?
どれくらいの量になるのかによるけど、作業列使って計算すればできますよ >>512
起動しました!ありがとうございました! 対象が最終行だけだと、入力データ多い場合かなりめんどくさそう >>516
その場合、E列をWクリックするとその行のデータをもとに転記するイベントプロシージャにすれば?
それか、アクティブセルの行を転記するようにすればいいか。
myRow = ActiveCell.Row
に変更すればいい。
3行目をアクティブにした状態でボタンを押せば、3行目のデータをもとに転記される。 >>517
こういう場合は一括処理にするか、難しいけど関数でやるほうがいいよ ドラッグ(矩形選択)した行を一括転記するようにしました。
これ、適正でない行が多いとmsgboxが何回もでるけど、いい方法あります?
変数jをelseの時だけ配列に入れて、それをmsgboxでまとめて1回だけ出すとかできるかな。
「5行目6行目のデータが適正ではありません」みたいに。
Sub test()
'矩形選択範囲から行を取得、該当業のデータをもとにsheet2に転記するプロシージャ
'例)A2:A8を選択した状態なら、2行目から8行目
' B3:B10を選択した状態なら、3行目から10行目
Dim i As Long
Dim j As Long
'Sheet2をオブジェクト変数Ws2に
Dim Ws2 As Worksheet
Set Ws2 = Worksheets("Sheet2")
'C列、D列に数値が入っていて、D列の数値>=C列の数値である場合のみ転記をする。
For j = Selection(1).Row To Selection(Selection.Count).Row
If IsNumeric(Cells(j, 3)) = True And IsNumeric(Cells(j, 4)) = True And _
Cells(j, 3) <= Cells(j, 4) Then
For i = Cells(j, 3) To Cells(j, 4)
Ws2.Cells(i + 1, 2) = Cells(j, 1)
Ws2.Cells(i + 1, 3) = Cells(j, 2)
Next i
Else
MsgBox j & "行目の入力値が適正ではありません"
End If
Next j
End Sub >>519
Sub 偶数()
'1から10の中で偶数一覧を出力する
For i = 1 To 10
If i Mod 2 Then
'do nothing.
Else
偶数一覧 = 偶数一覧 & i & ","
End If
Next
'output
If 偶数一覧 Then
MsgBox "偶数:" & 偶数一覧
Else
MsgBox "偶数なし"
End If
End Sub 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
A列に半角英数字10桁の商品コードが並んでいます。
タイプとしては英数字混在のものと数字だけのものです。英字だけのコードはありません。
B列には商品名があり、index(match)で商品コードを入れたら商品名を表示させたいです。
しかし、商品コード入力欄にテキスト入力をすると、商品コードが英数字混在のものしかヒットしません。
matchの検索値をvalue()で指定すると今度は数字だけのコードしかヒットしません。
どちらでもヒットするようにするにはどうすればよいでしょうか? >>522
現在の商品コードを文字列で同一すべき
適当な作業列に「=TEXT(A1,"@")」みたいに書いて、これをコピーして値として貼り付けで文字列に変換できる。
今後の登録のために、商品コード列の書式設定は「文字列」に変える
MATCHの第一引数に指定したセルも文字列に変える。
それが無理ならMATCH(TEXT(・・・,"@"),・・・)にすればいい。 powerpivot機能ですが、
エクセルではフォローされている36:00:00みたいな24時間を超える書式[h]:mm:ssが、powerpivotではフォローされていないのか、データ型を日付にするとエラーになってしまい、テキスト型になってしまいます。
何か回避策はありませんでしょうか? 1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
一つのセル内に
プリン3個、エアコン2個、ミカン4個、バナナ2個
という風に固有名詞は無秩序、個は規則的なセル内の数字を
合計して出すにはどうすればいいでしょうか 「合計して出す」てどういう意味さ?
3+2+4+2をしろということ?答えはどこに表示させるの? FINDで「個」の位置を順番に把握して
MIDで切り出して
LOOKUPがらみで数値だけ抜き出して
足す
感じになるのかな。「個」の個数が不定だと修羅の道 あと、10000個とかあると関数では切出すのも大変だ そもそもそんなデータ(1つのセルに文字列と数値が混在、単位まで付いてる)を作らないようにしないと。
項目 数値 単位 の3列でデータ作るようにする。
単位は表示形式で付ける方が良いかも知れない。
>>530さんの方法でやるか、固有名詞(りんご、バナナ)を全てピックアップできるなら、もう少し簡単にできるけど。 いったんテキストファイルにしたものを開くときに区切り位置、区切り文字を指定してバラす 固有名詞の部分に半角が含まれてないなら簡単
含まれてたら配列使うことになる >>526
その条件だと現実的には出来ないかも知れない
条件を後出しせず全て書いてくれないと >>535
条件は書いてあることで全てだったのですが
A1 プリン3個、エアコン2個、ミカン4個、バナナ2個
A2 RIGHTB(LEFT(A1,FIND("個",A1)-1),2)*1
A3 FIND("個",A1)
A4 RIGHTB(LEFT(A1,FIND("個",A1,A3+1)-1),2)*1
A5 FIND("個",A1,A3+1)
の繰り返しでできましたありがとうございました。 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
特定の計算をしたいのですが、前もって最下行までセルに式を入れるとファイルサイズが大きくなりすぎたので、
VBAで計算させる様にしたのですが、問題があります。
1.AC列はZ列から+14の日付にしたい。
2.このマクロだと1行目が書き換わってしまう。
3.シート「保全_集計表」を別のブックに貼り付けしたいのですが、別ブックのサイズが3MBになることがあります。てしまいました。
この3点を解決する方法があればご教授願います、
サンプル
http://fast-uploader.com/file/7093705631477/ もし、P2が0(ゼロ)のとき、Q2はO2*(2/3)
もし、P2が0(ゼロ)じゃないとき、Q2は(O2-P2)*2/3
真偽の数字を、100のくらいから四捨五入したいのですが、IF関数にROUND関数を組み合わせる方法がわかりません。
IF(P2=0,O2*(2/3),(O2-P2)*2/3と組んではみました。
例えばQ2セルが13,333となった場合は、13,000で表示されるようにしたいのです。
私は看護師で、社員旅行の会計を任されましたが、バカなのでわかりません。教えてください。
O2は月々の旅行積立額、P2は旅行代金、Q2は返金額です。旅行は泊まり、日帰りとあって、日帰りの場合は積立額から、旅行代金を引いた2/3を積み立てた人に返して、旅行に行かなかった人は、積立額の2/3を返すことになっています。泊まりは、積立全額が旅行代金になります。 >>538
i=1をi=2にすれば1行目は書き換わらないけど、何か問題ありますか? >>539
=ROUND(IF(P2=0,O2*(2/3),(O2-P2)*2/3),-3) >>540
問題ありません。i=2で1行目が変わらないのですか。 >>542
cells(i,16)だと、iが1のときは1行目16列目のP1を書き換える。 >>543
サンプルは2行でしたが、2000行位になります。条件付きでループを終了させたいのですが、思いつきませんでした。 >>544
話がかみあってないけど、「For i = 1 to」を、「For i = 2 to 」に変更する。
3行おきになっているのは、そのままでもいいけど、変数jにした方が見やすい。
別ブックに張り付けるのは、どのブックか不明なので(新規ブックなのか既存のブックなのか等)、もっと情報がないとわかりません。
Sub calclation()
Dim i As Long
Dim j As Long
Dim MaxRow As Long
MaxRow = Sheets("保全_集計表").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To MaxRow
For j = 16 To 46 Step 3
Cells(i, j).Value = Cells(i, j - 1) + Cells(i, j - 2)
Next j
Cells(i, 29) = Cells(i, 26) + 14
Next i
End Sub >>545
既存のブックになります。
よろしくお願いします。 >>546
既存のブックなら、余計分からない。
そもそも、vbaで計算結果入れるだけで重くなるなら、もともとのブックに問題があるのでは?
よろしくお願いしますって、何をしてほしいのか。 >>539
ifはいらない
=ROUND((O2-P2)*2/3,-3) ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい・
【4 VBAでの回答の可否】 可・
A列 B列 C列 D列 E列以降
ID 品名 型式 残数 日付
E列以降に日付を入れるとD列(残数)が-1するにはどうしたらいいでしょうか?
D2が5でE2、F2に日付が入るとD2が3と表示させたいのです。 >>549
A列 B列 C列 D列 E列 F列以降
ID 品名 型式 残数(入力) 残数(計算後) 日付
でいいなら、
E2=D2-COUNTIF(F2:H2,">0")
D列をそのまま変更するのはvbaがいる上に結構めんどくさい
(コメントに元の数値を逃して、計算するなどの変な処理が必要) >>550
ありがとうございます。こちらの方がよいです。半期の棚卸で”いつ”部品をもちだしたか
不明で数と資産金額が合わなくて大惨事になりました。
1000万は無いって。 すみません、質問させてください。
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
A1の数値を別のセルに 「.jpg」をつけて表示させたいのですが、どうしたらできますか?
セルの書式設定のユーザー定義にもないし、入力件数が多くて困っています。
関数などがまったくわからなくて、ネットでも調べてみたのですが検索の仕方が悪いのか
見当違いのものばかりで…お力を貸してください。お願いします。 >>552
超初心者の俺がお答えしよう。
別のセルに、=a1&".jpg" と入力する >>552
別のセルに
=A1&".jpg" と入力
=A1と書いて、書式設定のユーザー定義に0".jpg"と入力
=CONCATENATE(A1,".jpg")と入力
さぁ好きなのを選べ。
あと数値を・・ってことなので桁揃えするなら
=TEXT(A1,"0000")&".jpg"
としたり
=A1と書いて、書式設定のユーザー定義に0000".jpg"と入力
という方法があるゾ 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 2010
エクセルの計算効率についてです。
COUNTIFを使う場合
1列10万件のセルをカウントするのと
1列1万件のセルを個別に10列分カウントしてあとで10個の数を足すのとでは
どちらが計算結果が早く出ますか?
あと、あらかじめ条件外となるものは先に=""で空指定したほうが
計算結果が早く出ますか? >>555
内部的な最適化までは誰もわからん。試したほうが早い
大抵の場合、余計なことをせずに素直な計算式にするのが一番良い
あと、罫線や色、フォント、条件付き書式など何も設定しないことの方がよっぽど大事 552です。
おかげさまで作業効率アップしました!
お二方ありがとうございました! 求人で「エクセルができるかた」というのはどれくらいができればよいのでしょうか?
・四則演算ができる
・index,match,offsetなどの関数が使える
・条件付き書式のせっていができる
くらいで大丈夫ですか? 職場によって求められるスキルは違うと思うけど、vlookupじゃなく、あえてindexやmutchを上げてるレベルなら大丈夫じゃない?
あとは、グラフとかピボット使えればいいかなと >>558
四則計算とオートSUMの機能が使えるだけで十分 採用した社員の履歴書にMOUSエキスパートが書いてあり
どれくらいできるのかwktkしたら全然実務向きでなかったでござる。 MOSエキスパートは関数とか熟知してなくても取れるしね
試験対策してればとれるし、機能の使用・理解範囲が無駄に広いだけだから、すごく役に立つというよりかは、ある程度どんな職場でも働けるってだけだよね
excelで画像加工とかほぼ実務で使わんw 俺の職場でエクセルはPOP製造機。
画像加工のスキルばかり上がる。 >>558
実務で言うと、データの入力規則の設定と
計算式の絶対参照と相対参照の使い分けあたりも欲しいな ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 否
【4 VBAでの回答の可否】否
一つのセルの中に指定の単語がいくつ使われているのか
をカウントする場合はどうすればいいですか? >>566
=(LEN (A1)- LEN (SUBSTITUTE (A1,"単語", "") )/ LEN("単語") 1つのセルをウィンドウいっぱいに広げる方法ある?
そしてウィンドウのサイズを変えたら、セルのサイズもそれに追従するみたいな >>571
全シート選択したら一括で印刷できるのは知ってるの? あるっちゃあるけどないっちゃない
vbaで作ればできるけど、その操作以上の労力がいるから意味ないんだよね〜 >>569
横方向は割とムチャクチャ広がってくれるが
縦方向はすぐ限界になるな
そして追従はできんやろ セルに書き込む毎に枠線が自動で付く書式 =or($A1:$F1<>"")って書式組む時に
範囲選択してるんだから
普通に枠を付けるのとたいして変わらないと思いませんか? 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel for Office 365
【3 VBAが使えるか .】 否
【4 VBAでの回答の可否】 否
ピボットテーブルでの比率の計算について教えて下さい。
元の集計表として、
時間帯, 基準値, 要素1, 要素2, 要素3
0, 200, 80, 50, 20
1, 210, 100, 20, 30
2, 180, 150, 50, 0
・
23, 90, 0, 70, 50
という合計を集計したピボットテーブルがあります。
これを元に、基準値に対する比率を求めるピボットテーブル
時間帯, 基準値, 要素1, 要素2, 要素3
0, 100.0%, 40.0%, 25.0%, 10.0%
1, 100.0%, 47.6%, 9.5%, 14.3%
2, 100.0%, 83.3%, 27.8%, 0.0%
・
23, 100.0%, 0%, 77.8%, 55.6%
というピボットテーブルを追加または新規で作りたいのですが、
「親集計に対する比率」で[基準値]を「基準フィールド」に指定してみたところ、
結果は#N/Aエラーになってしまいました。
何かやり方があるのでしょうか?
各行には異なる日付の内訳(行数可変)があるので、
直接セル指定での計算列追加は避けたいです。 1か2か3の値が毎時入手できて、これを積み上げ横棒グラフで同じ数字なら同じ色にして12個積み上げてグラフにする方法ありますか? 左にタイトル 右に内容
みたいな感じでエクセルが使える
しかし入力がしずらい
エンター押すと次の枠に行っちゃうし(ソートするときは枠結合しないといけないし)
ALT+エンター 使えばいいんだけどなんか面倒
メモ帳だと左にタイトルつけれなくソートもないし メモしたものがわからなくなるし
他のいいソフトありますか?
もしくはエクセルの使い方。 >>579
何がしたいのかよくわからんが
二行を一つのデータとして取り扱うならalt+エンターしかない >>579
メモしたいならonenoteとか使えば?Wordの表でもいいけどさ >>579
右のセルに長文入れてalt+enterが嫌なら、
入れた後にセルの書式設定で『折り返して全体を表示する』を選べばいい。 自己解決
「計算の種類」の「親集計に対する比率」の使い方は分かりませんでしたが、
目的のことは「集計フィールドの追加」で出来ました。 365だけど最近リボンのデザイン変わった?
古いPCの方となんか違うような気がして >>584
モニター画面の解像度が違うと自動的にボタンやメニューの配列が変わる >>584-585
俺のOffice365 SoloのExcelとOutlookも最近変わった。
なんか縁取りがはっきりして、コミカルなデザインになった。
サイレントupdateだな。 たとえばExcelのA1に0、A4に10と入力して、
A2に3.3333、A3に6.6666と出力させる方法はありますか?
間にあるセルの分だけ等分にして表示させたいのですが
実際使うときは数千等分にしたいのです >>587
入力するセルが任意ならVBA
セルが固定でも数千等分なら関数じゃ現実的ではない 図形に指定したサイズ(cm)通りに印刷されません。
それ以上に、縦横比が狂ってしまい困ってます。
プリンターが原因でしょうか? >>585-586
やっぱりね。
フラット?マテリアル?
2019の関連かと思ったけど、
解像度の関係でアプデの有り無しがあるのは知らんかった。 最近のMSには小さな親切大きなお世話って言葉がピッタリだ
初心者やタブレット向けにセキュリティやUIを変えたつもりだろうが
使い慣れた操作を大きく変更されて余計使いづらいっていう 今さらそんなこと言っても、大きなお世話はMSの伝統でしょ。
win10の強制アップデート
word、Excelのオートコレクト
office2007になった時のリボン導入
IEの強制バンドル
コントロールパネルがなくなる
勝手にアップデートして勝手に再起動 >>588
やっぱvbaですか
少し齧っただけだけどやってみます
ありがとう win10、リボンはさすがにもう慣れたな
使い方さえわかれば使いやすい >>592
> win10の強制アップデート
うん
> word、Excelのオートコレクト
設定切れよ
> office2007になった時のリボン導入
慣れ。むしろ使いやすい
> IEの強制バンドル
それ何が困るの?独占禁止法?
> コントロールパネルがなくなる
グループポリシーの方で設定すりゃ関係ない
> 勝手にアップデートして勝手に再起動
WSUSは? > IEの強制バンドル
はまだ良いとして、規定のブラウザ変えようとすると警告が出るのがイラッと来る
あとこういう警告のせいでIEが根強いと思うと更にイラッと来る
で、そんなwindowsを使わなければならない自分にイラッと来る
まぁIEの挙動が大分マシになったとはいえ、
めんどくさい事には変わりない
未だにIE前提で作られている管理ツールはやまほどあるからな Excel2019ではPythonは入っていないのでしょうか? このスレレベルが高すぎるんですが
エクセルのことに関して初心者でも相談できるスレないでしょうか
5ch内をスレタイ検索してみましたがうまく見つかりません >>602
ここで大丈夫ですよ。
エスパーでなくても答えられるように、具体的に、できれば例をあげながらお願いします。 >>602
別にここでも大丈夫だよ
たまに初心者にもマウント取りたがるやつがいるけど、5ちゃんねるはそういう所だと思って相手にしなければいい >>602
学校の方が回答者優しいよ。レスポンスもめっちゃ早い >>604>>605
ありがとうございます
質問内容をまとめて近いうちに利用させていただこうと思います 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
「検索と置換」の検索履歴もしくは置換履歴の削除方法を教えていただきたいです 【1 OSの種類 】Win10
【2 Excelのバージョン】2016
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】否
長い文章から特定の言葉だけを抽出し、その言葉をカウントする方法をお願いします。
例えばA1のセルに"あいうえお"が連続して入っている場合、"うおえ"の部分だけを
抜き取り、さらにその数を数えたい場合です
セルの部分は分割ではなく、A1のみに文章があるものとした場合です
よろしくお願いします んなのExcelでやるなよ、PowershellかVBSで一発だろ。 VBAもPowershell おVBSも使わんというなら
1)置換でA1内の改行を削除する
2)置換でうおえをうおえ[改行]に置換数る
3)A1セルでF2押下後、文字列をドラッグ選択して右クリック→コピー
4)B1セルに貼る。B列に末尾うおえ区切られた文字が別々のセルに入る
5)Ctrl+↓で最後のセルの行数を見る なお置換ダイヤログでの改行文字はCtrl+Jで入る。表示されないけれど >>611
つい最近どこかで見たな。
=(LEN(A1)-LEN(SUBSTITUTE(A1,"うえお","")))/LEN("うえお")
が最適解 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
グラフのデータ元を自動更新(最下行6行)できずに悩んでおります
データ元を自動更新するのは、名前の設定でグラフの元データを選択しております
名前の設定では、(OFFSET(INDIRECT("A"&COUNTA(データ!$A$2:$J$A)+1),0,0,6,1))のようにしています
名前をPrint_areaにして関数が間違ってないのは動作確認済み
これを「元データ」のような名前にしてグラフの元データにするとうまくいきません
なにが悪いんでしょう? >>619
投稿時の誤字でした
ただしくは
「(OFFSET(INDIRECT("A"&COUNTA(データ!$A$2:$A$100)+1),0,0,6,1))」
ですね 611だけど皆ありがとう!
自分にはVBAとかパワーシェルは敷居が高いので614,616の
方法で試してみます >>616
出来ました!凄い!感動!ありがとう!! >>616
総文字数 から "うえお"を除いた総文字数を引いて "うえお"×n回の総文字数が出るから、あとは"うえお"の文字数で割れば出現回数が分かるわけか
これ最初に気がついたひと頭いいな
普通の人なら検索繰り返したり、Forループ回して総当たりする方法しか思いつかない 最近、言葉の解析が多いね。
ツイートのメタ分析需要かな? >>618
ぱっと答えられるところで言うとこの辺?
他で同じ名前が使われてるとか
→確認
「元データ」をタブやセルに書かれていた文字をコピーしてしまってるとか
→見えていないスペースが入っている可能性があるので直接「元データ」と入力
今度Excel触れるときにまた確認してみる 【1 OSの種類 】Win10
【2 Excelのバージョン】2016
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】否
コントロール最小値1〜最大値100の設定で、100パターンのデータを一つのシートでまとめているが、これらを一括でPDF化する方法を教えていただきたいです。
よろしくお願いします。 >>631
>コントロール最小値1〜最大値100の設定で、100パターンのデータを一つのシートでまとめている
よーわからんが、IDを元にvlookupで引っ張ってきている感じ?>>632の通りvbaなら楽勝 >>618
範囲をindirectで指定するのがダメっぽい
offset($a$2,counta($a$2:$a$100)-6,0,6,1)で
下6個取ればいけました >>634
>>635
ありがとうございました
indirectが使えない理由…は、よくわからないけど、使わない方向ということで了解です
indirect自体がぼんやりとしかわかってませんが(笑) >>636
indirectで指定する
=OFFSET(INDIRECT("データ!A"&COUNTA(データ!$A$2:$A$100)-4),0,0,6,1) 送ってもらった漢字の名簿(xls)に、手作業でフリガナを追加しているのですが
もしかして元のファイルにかなデータがあるんではないかと思い
ホームタブの「ふりがなの表示」を押してみましたが出ませんでした。
PHONETIC関数を使っても漢字のまま表示されるだけでした。
しかし「ふりがなの編集」をするとそれらしいふりがなが出ました。
これはどういうことなのでしょうか? Excelが勝手にふりがなを予想する機能があるんだよ。
どこかにデータが残っているわけじゃないよ。 なるほど、勝手に漢字を読んでるだけなんですね。
ではせっかくなので、ゼロから入力するのではなく、
この「編集」で表示されるものをベースにして入力することは可能でしょうか?
ちょっとやってみたところ、表示させて確定しても、スペースを足してみても消えてしまいました。 >>641
漢字のセルを選択してShift+Alt+↑を押すと推測のふりがなが表示されるので、Enterで確定
確定したら消えたように見えるけどセルを右クリ「ふりがなの表示」で出てくる 印刷でカラーにしたのにカラー印刷されないんですがどうすれば 少しずつ印刷するとカラーになったりならなかったりです >>645
プリンターのトナーカートリッジを取り出して良く振る >>644
おそらくプリンターの問題でしょう。
他のプリンターで試してみるか、無理ならpdfプリンター(仮想プリンター)入れてみたら? 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
質問です。
2つのデータを1つにまとめる(統合?)方法を教えていただきたいです。
GPSログのデータと気温ログのデータなのですが、
同じ間隔でログを設定したのですが、GPSデータが微妙にずれていて、
直接コピペでまとめられません。
5秒間隔で、3秒以上ずれたら次のセルに〜といった感じに、
近い時間のGPSログに、気温ログを統合させたいです。
人力でやろうと思っても、6時間分くらいあるので難しいです。
よろしくお願いします。 >>650
ifで3秒以上ずれた時にvlookupで近い値を探して入力するって感じでしょうか? >>651
lookup関数でダメですか?
データがどんな感じかイメージが難しいけど。 ベースデータを温度表A、ぶつける先を場所表Bとして、Bを時間で降順にする
1. 表Bの時間に対して、次の時間との中間値を保持
例)A3に =ROUNDDOWN( (A1+A2)/2, 10)
2. 表Aの時間からMATCHの「以上」設定で 中間値を探す
※表Aの値以上の最小値の行が判る
=MATCH(表Aの時間, 表Bの中間値全部, 1)
3.その行の場所データを取る。
かなあ、VLOOKUPとかは近似値の上下どっちにあたるかランダムだし こんな?
時間 気温 INDEX(場所エリア,MATCH(時間,中間値エリア,-1),1)
11:00:00 28.3C 場所A
11:00:05 28.1C 場所B
11:00:10 27.9C 場所B
11:00:15 27.9C 場所C
11:00:20 28.4C ダミーED
時間 場所 RoundDown(値,10)
11:00:20 ダミーED 12:00:00
11:00:19 場所D 11:00:19
11:00:14 場所C 11:00:16
11:00:07 場所B 11:00:10
11:00:01 場所A 11:00:04
11:00:00 ダミーST 11:00:00 うわ、基本仕様見落としてる。すまん馬鹿だった。場所と温度の親子関係逆じゃないか
>近い時間のGPSログに、気温ログを統合させたい >>649
気温データをちょっといじって
A列 元の時間-1.5秒
B列 元の時間+1.5秒
C列 気温
みたいな表にしとく
GPSデータの方でSUMIFSなりSUMPRODUCTなりで
A列<GPSの時刻<B列 になるデータを拾う
俺ならこうする ceiling()、floor()「俺たちのこと忘れないで!」 どうせ両方CSVだろうから自分だったらPowershellでスクリプト組んでマージするな >>632
>>633
回答ありがとうございます。
>>633のおっしゃる通りです。
無理そうですね。実はデータはもっとあるのでどうにかしたかったです。 >>649
配列数式っての初めて使って、上下比較して近似値にVLOOKUPしかける式作ってみたけど。説明めんどい
単純に以上か以下固定しちゃって、一番近い値ならすっげえ簡単。つか一発、そうしちゃえ スレチだったらスマソ
Android版のExcelの「画像から表を作成」の機能ってまだ実装されてない?
office365のベータ入ってるけど見当たらない 和文OCRって精度悪いよね、表組になると余計にバグる、英文なら精度高いけど そりゃまあよく使われる文字は100種類ぐらいしかないし、スペルチェックあるしで条件が違いすぎる 海外の公式twitterみた感じだともう実装されてるっぽいんだけどなぁ
もしかしておま国? 【1 OSの種類 .】 Windows7,10
【2 Excelのバージョン 】 Excel 2007,2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
北海道 青森県 秋田県
札幌市 青森市 秋田市
旭川市 弘前市 男鹿市
函館市 八戸市 大仙市
小樽市 三沢市 仙北市
千歳市 むつ市
室蘭市 平川市
石狩市
岩手県 宮城県 山形県
盛岡市 仙台市 山形市
滝沢市 石巻市 上山市
一関市 大崎市 東根市
花巻市 栗原市 天童市
遠野市 新庄市
上記のようなリストがあります。(このリストは画面をスクロールせずに全て見ることが出来きます)
A1にドロップダウンリストがあって
「北国A」を選択するとB1のドロップダウンリストには北海道の市が表示
「北国B」を選択するとB1のドロップダウンリストには青森県の市が表示
「北国C」を選択するとB1のドロップダウンリストには秋田県の市が表示
「北国D」を選択するとB1のドロップダウンリストには岩手県の市が表示
といった感じにしたいのですが、どのようにしたら良いのでしょうか?
厳密には北海道、青森県・・・山形県の部分は正式名称で、北国A、B・・・Dの部分は略称です
略称には正式名称の文字を含んでいなかったり、カタカナ表記で略しているのもあります 北海道 札幌市 旭川市 函館市 小樽市 室蘭市 千歳市 石狩市
青森県 青森市 弘前市 八戸市 三沢市
秋田県 秋田市 男鹿市 大仙市 仙北市
岩手県 盛岡市 滝沢市 一関市 花巻市 遠野市
宮城県 仙台市 石巻市 大崎市 栗原市
山形県 山形市 上山市 東根市 天童市 新庄市
このように大項目と言える部分がA列にあれば、スレ内の質問にあった手法で出来そうなのですが
リストをスクロールせずに1画面に表示させる為にA1、B1、C1、A10、C10、B10に大項目があるので使えない感じがします
他にも正式名称と略称の紐づけもあって、どのように手を付けたら良いのか困っています 別シートに 668形式で値を保持してマスターデータに、ドロップダウンはそっちを利用する
667は見た目だけのシート、値は668シート参照してとってきてもいい 貴方がメンテする際だけでも667形式から668形式の変換マクロを使えれば便利だね このシフト表と同じものをExcelで簡単かつ早く作るとしたら、どうやりますか?
https://i.imgur.com/ume1DLM.jpg
漢字になってる所は「調」と読みます
思い当たるものは有るにしても素早く簡単と言う訳にはいかず、わかりません >>672
まずワークシート全体の書式を(左右)中央揃えにする
A1 B1 C1を結合して4/1と入れて書式を m"月"にする
A2に=A1と入れて書式をdにする
B2に=A2と入れて書式をaaaにする
C2に=IF(MOD(A2,7)>1,"○","休")と入れる
A2 B2 C2を選択したらフィルハンドルをつかんでずるずると下に引っ張る
A B C列をコピーしてD E F列に貼り付け
D1に=DATE(YEAR(A1),MONTH(A1)+1,1)と入れる
D E FをコピーしてG H I列以降好きなだけ貼り付け
最後に調の日だけ手動で入力 あ、あと31日の塗りつぶしも手作業でやって
自動でもできるけどちょっと手間がかかるから、手動のが早い
うるう年だけ注意して >>675>>676
凄い、そう言うの思い付かなくて…
たいへん参考になりました、ありがとうございます
後でご指摘通りに入力してみますね やっぱり場数踏まないと効率の良い書式なんか思い付かないんだな 対象をファイルに保存してExcelでイメージを挿入・・
というボケが間に合わなかったー。
リモコンの電池カバーどうした 1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
エクセルの印刷について教えてください。
かなりの分量の資料を作成しました。
横26行以上、縦80行以上、その全てのセルに何文字も入っている資料です。
完成はしましたが、ここから印刷して渡さないといけないので、今エクセルの印刷の設定をしてますが、苦戦してます。
例えていうなら、A4サイズ3枚で印刷したいとき、設定で縦3といれて、横を一枚にそろえるでやったところ、最初の2枚はギチギチですが、最後の一枚は上数10cmしか使ってないみたいな。
こうなるくらいなら、A4三枚で全部ギリギリまで使ってもう少し文字大きくしてほしいんです。そういう拡大をしたいんです。
このシートをA4(もしくはA3)用紙一杯のものを○枚の状態で作りたいのです。
仕事上ページの指定は厳しくないので、列が全部収まってれば行はいくらでも構わない、ページ数も増えてもまあいいという感じです。
しかし、印刷設定で列を1ページにおさめるとかやるとどうしても縮小されてしまいます。
こういう分量多いものをきれいに印刷する方法を何でもいいから方法教えてください。
最悪入力したものを削って内容簡素化するのもありです。 列幅基準で縮小されるならその倍率にしないと全部の列入らないんじゃないの
それなのに拡大しろとか無茶言うなって話 683やね。
横26項目に文字いっぱい?A4じゃ見えないと思う。A3横が無難
1.余白は手動で全部0か、タイトルなどにギリギリまで寄せる
2.プレビュ表示モードにする
3.行の高さを広げていき、丁度いい具合で止める
自分のやり方だけど、縦は自動(文字サイズ次第)のままで
表の右、印刷範囲外の列を選択して「フォント△」で大きくする。フォントサイズに合わせて行が広がる
広げてる見出し行とか、改行入りでもともと広がってる行とかには影響しない >>675
たびたびすいません、ご指摘通りに入力し
オートフィルでコピーしたけど連続でコピーされなくてオートフィルのオプションにも
「連続データで」の選択が無いのでA2のセルは「1」B2が「日」でしかコピー出来なくて困ってます
何が悪いのでしょうか? >>685
A2 B2 C2をA3 B3 C3にコピーしたあと、A3を=A2+1に直してから下へ31日までコピーですな >>675
お手数ですが気が向いた時でいいので
IF(MOD(A2,7)>1,"○","休")が平日○土日休になる仕組みを教えて頂けますか? 日付の内部データは1900/1/1 = 1、からの連番なので
7で割った余りが0なら土曜日、1なら日曜日 になる。水曜休みなら=4にする
今日2018/10/19は43392
※1900/2/28以前は1日ズレる問題はある、がどうでもいい >>689
なるほど土曜日が7の倍数だから割ると0
日曜が8の倍数だから余り1になるわけか
ありがとうございます、納得しました >>690
それも良いかも、少しは自身の頭で考えないと為にならないし 変数のオブジェクト型って情報量がすごく多いと思うんだけど消費メモリがLONG型と同じなのはなんで? >>696
オブジェクトへの参照ポインタが入ってるだけだから マクロ初心者なんですが何回も同じ処理を使いたいんてすが
callで別プロシージャ呼び出して結果を元プロシージャの変数として使いたい場合functionでいいんですか?
もちろん別プロシージャを使わずに変数のセットを何回も書くって方法もあるとは思いますが、スッキリさせたいので functionの場合、呼び出しはcallではありませんけど >>672
これをweekdayでやるとしたら
IF(weekday(A2,2)<6,”○”,”休”)にするのが良いのかも 多分裏側同じだろと、ふと数式200万セルで100万回 calculate 回してみた
mod 42.41秒 weekday 44.42秒 PCの状態より、weekdayが+1加算してるからかな >>706
とっさに確認しちゃうあたり、なかなかの愛ですなー >>689
1900年のバレンタインの曜日が間違えていると再提出命じた上司を思い出した
意地悪目的ではなく、新人に仕組みを学ばせるためだったようだが 難しく考えすぎると逆に効率的なやり方を思い付かなくなるんだ…
こっちは命令を出す側なのを意識して仕事の段取りをする事に集中するってか 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
お願いします
1月1日〜1月31日 が一つのセル内にあって毎月"月"を変えたいのですが
数式で変えると末日の表示の所がうまくいきません
EOMONTH(TODAY(),0)を最後に組み込むとシリアル値そのままが返ってしまいます
セル書式設定はEOMONTH単独だと日付に変換されるのですが
1月31日の部分に入れると無効になりました
何か他の方法ありますでしょうか? ありがとうございます
ちょうど今試していて別セルに出したeomonth参照でなんとかできたのですが
月でIFを使い、間に文字列挟むので数式がめっちゃ長くなってしまいました
初心者なものでスリム化できなくて A. 書式を 「m"月1日〜"m"月"d"日"」にして、価を =EOMONTH(TODAY(),0)
B. =TEXT(EOMONTH(TODAY(),0),"m""月1日〜""m月d日")
※個人的には式内にTODAY()は好きではないな
前月分、翌月分などを処理したい時に数式の中を書き換えたくないから
どっかに基準日セルを持ちたい まさしく求めていたものでした
本当にありがとうございます
Aでやってみようと思います >>714
式の長さじゃ無くてわかりやすさ重視でいくならchoose関数で12ヶ月分指定するのもありかな。閏年の考慮は必要だけど、式を見ただけで誰でもわかると思う 年間カレンダーを作成して特定の日にちを空欄にし
まとめて「休」の字を入れるのに何かうまいやり方無いですか? >年間カレンダーを作成して特定の日にちを空欄にし
>まとめて「休」の字を入れるのに何かうまいやり方無いですか?
これの「どこ」を「うまいやり方」でやりたいの?
「特定の日にちを空欄にする」なら、「特定の日にち」を特定する方法が分からなければ
回答できないし、「空欄に『休』の字を入れる」だけなら置換するかジャンプ機能でできる。
「年間カレンダーを作成」なら、カレンダーの様式から不明なので、答えようがない。 1.まず日付、休有無、表示テキスト の年間データを作ります
2.年間カレンダーのレイアウトを作ります
3.年間データの値を引っ張ってきます
4.データ表に入れたとおりに一瞬でカレンダーが完成 上司のおっさんに「月を入力すると日数が出るようにするにはどうすれば?」と聞かれたのでコレを教えてあげた心温まる話
https://togetter.com/li/1279312 カレンダーはオフィスタナカ(表示名うろ覚え)にあるサンプルが一番適切
一年を1Sheetに日付順にずらずら並べて、土日のみならず、祝祭日も
ちゃんと(VBAで)判別してる それを週・月・年とかのそれぞれのシートに
反映させてて見た目もそれなり それを改良するのが一番手っ取り早い
年が変われば別にSheetを作って元日から大みそかまでを新規作成 という流れ
来年たぶん新たに増える祝日にも対応可
因みに春分・秋分は海上保安庁が確定させるので二年先は(予定)というのが正解 >>726
俺は「西向く侍」派
このクソ長い関数は1と入力すると31、2と入力すると28・・・・12と入力すると31になるのかな?
地味に耳が痛くなるかもね >>727
担当者が居なくなって、ある日カレンダーがおかしあ!という話になって死亡 何年も先まで、ノーメンテで祝日を正確に表示できるカレンダープログラムなんか存在しない
作成不可能 >730
webから取ってくる形にすれば存在するんだな、これが 結局そこに落ち着くんだよね、サイトが間違ってたらオワ
政府のページあたりに法定休日とかcsvで取れるページありゃ良いのに
政府のweb検索からデータ貰うマクロ組んだけど
1データ毎にブラウザ戻るが必要で困る
かけっぱなしでIEパカパカさせてる URLやページ構成が変わったらアウトだから、結局ノーメンテにはならない
政府系のサイトだってしょっちゅうアドレスが変わるし、実際それで苦労したことが何度もある
確かに国が色々なデータを取得できるWebAPIとか用意してくれてもいいよね
できれば省庁をまたいで共通プラットフォームで エクセル2016
vba可
あるアプリから抽出されたデータがエクセルのファイルとして出力される。
その中の表を、さらに集計したり加工したりするんだが、毎回手でやるのも面倒なので、別の既に関数入れたテンプレート的なファイルを開いて、表をコピー&ペーストして終わらせてる。
アプリから出力されたエクセルのデータを、既に関数の入ってるシートに自動でコピーしたい。
同じブック内なら簡単にvbaで出来るが、異なるファイル間でやる方法がよくわからない。
出力されるファイルの名前はランダム。
無理でしょうか?
PowerShellの領域かなとも思ったんですが、エクセルだけで完結できると助かります。 >>734
違うブックへデータをコピーすること自体はVBAで簡単にできる
ランダムでもファイル名を手動で入力すればいいんじゃない?
保存されるフォルダが固定なら、その中から更新日が最新のファイルを開くのもVBAで可能だけど >>735
出力されたデータはどこかに保存されるわけではなく、そのまま開いた状態。
既に開いているエクセルのファイル(ファイル名不明)を別のエクセルで開いたブックからvbaで取得する方法があればと。 カレンダーって言うと職場の男は昔ヤクザやってたらしいが
悪い元先輩に「お前、俺等が出演してるカレンダー買えよ!」と言われ
一つ四万円でも無理やり買わされたって言ってたな
買ったのを見せてもらったがヤクザ達が刺青出してふんどしになり
海岸でポーズ決めてる写真ばっかりでクソワラタw >>736
for eachで開いてるファイルを全部回す。
指定の形式に該当するファイルをコピペ。 >>736
VBAでWorkbooksコレクションオブジェクトというのを使えば、今開いているブックの一覧を簡単に調べることができます
あとは、セルの内容とかシート名などを頼りに、目的のブックを機械的に見つける方法があるかどうかですね まあ、シート1の名前とかA1の値とか。なんか識別はできるだろう
もう1つの方法。自分だけしか使わない自分用なら
Personalにマクロ作って、開いた状態で実行して結果を別のBookにするとかでもいい
実行する時は「ペルソナー!」って叫ぶ 【1 OSの種類 .】 Windows7Pro
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 はい(マクロをボタンに登録して使うくらい)
【4 VBAでの回答の可否】 可
vlookup参照をVBAで最終行まで繰り返し処理したいです
具体的には、
A4からA列の一番最後の行を調べて
C4=VLOOKUP(A4,H4:J100,3,FALSE)
をC列でA列の最後の行まで繰り返したい
H4:J100の範囲はH4からH列の一番最後の行のJ列までにしたい
前提としてA列とH列は途中に空欄ありません
H列に無くてA列にある値があります。その場合N/Aではなく空欄にしたいです >>742です
文章では分かりにくいのでイメージのスクショを貼ります
右の古い客先一覧のJ列を左の新しい客先一覧のC列に転記したいのです
https://i.imgur.com/BsBGDg1.jpg >>742
Sub Macro3()
Dim rowA As Long
rowA = Range("A4").End(xlDown).Row
Dim rowH As Long
rowH = Range("H4").End(xlDown).Row
Range("C4").Formula = "=IFERROR(VLOOKUP(A4, H$4:J$" & rowH & ", 3, FALSE), ""\(^o^)/"")"
Range("C4").Copy Range("C5:C" & rowA)
End Sub て、マクロにして毎回変わる行数へ使えるようにしたいのでは無かったのかw
1回で良ければ$付けてコピーすりゃ良い >>744-745
>>742です
早速ありがごうございます
希望通りでした
古い客先一覧から客先の増えた新しい客先一覧に更新するのに
列で古い一覧で決まってる担当の列を新しい一覧に転記したかったです
なので毎回行が増えたり減ることもあります
ところで古い客先一覧で担当の列が空欄だった時、
新しい一覧に転記されて空欄になるのと0になるのがありますが
なぜか分かりますでしょうか?
古い一覧に白色で見えない0が入力されているのかと思いましたが
本当に空欄でした お世話になっております
ご質問の問題について調査を行いましたところ
H列にありj列に無いケースについては要件定義に明記されていなかった事から、
想定外のケースであることがわかりましたが
変更およびテストの実施はリリースに間に合わない恐れがある為
しばらくは運用にて対処いただけませんでしょうか?
ご理解ご協力の程宜しくお願い申し上げます >>747
お世話になっております
手入力でC列にVLOOKUP関数を入力コピペしても同じ結果になりました
J列に空欄があるとC列はそのまま空欄になると思うのですが
C列のVLOOKUPの結果が空欄になる時と0になる時があるのは何が原因でしょうか
データに問題があると思うので改善したいと思います >>734
自分が良く使う方法はインプットボックスでセルを指定してそのrangeオブジェクトからparentでワークシートとワークブックを変数にセット >>747
お世話になっております
>>746ですが自決しましたので下記ご報告申し上げます
Range("C4").Formula = "=IFERROR(VLOOKUP(A4, H$4:J$" & rowH & ", 3, FALSE), ""\(^o^)/"")"
以上部分を
Range("C4").Formula = "=IFERROR(VLOOKUP(A4, H$4:J$" & rowH & ", 3, FALSE)&””””, ""\(^o^)/"")"
に修正してJ列の空欄はC列に空欄で返すようにできました
ただVLOOKUPで参照先が空欄だった時スペースも入力されていないにも関わらず
0になる時と空欄になる時があるのが謎です
後学の為ご存じでしたらご教示いただけませんでしょうか
お忙しいところお手数ですがよろしくお願い申し上げます 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
初心者です。
工事毎作成する複数のシート(※1)の数値をデータベース用の他ブックのシートに工事毎に転記しています。
現在は工事が発生する事に保存してある(※1)原紙を該当工事用に更新し、保存後データベースにハイパーリンクを設定していますが、
いちいちハイパーリンクの設定をするのが大変なので、一連の流れを自動化は出来ませんか? できるよ 要は単票フォームのデータをテーブルに保存/テーブルから読み出しできるようにしたいんだろ
Access使えない環境だとそういうのはときどきつくったりする VBA必須だけどな >>756
3が読めないのかおまえは
だからみんな出来ないって言ってんだよ
バカだろ できるかできないかでいえばできる ただしVBA使用が条件 別におかしくはない
このスレではひとりのことをみんなっていうのかな このvbaが使えるかって設問、そろそろ見直したほうがいいかもね
・本人がvba使えるかどうか
こんなことどうでもよくて、覚えろって話
・職場環境的に絶対に使えない
じゃあ仕方ないね
となる 出来るかでいえば、VBAでペンタゴンハッキングできる人も居るかもしれないが
とりあえず、VBA無しの範囲=数式とリボンの中のものとして
固定のデータソースから値を取ってきて計算まで
処理 となるとマクロコピペぐらい要るかなあ。 使える使えないってのは、本人が、の他に、環境が(会社が')、ソフトがって意味もあると思う 3.より4.でしょ
ちゃんとテンプレに従って
> 【4 VBAでの回答の可否】 否
って書いてあるのにVBA必須の回答するとか頭おかしい そもそもVBA使った回答なんかしてないだろう どこにVBA記述してるんだ
できるって書くことすらだめなのか なんなのこのスレ VBA毛嫌いしてるヤツの気持ちもわかってほしい
コンプレックスの裏返しさ 少なくとも俺はバカとか頭おかしいとは書いてない それはいいのか? >>768 小学生並みの煽りだな バカ 頭おかしい 文盲←New! VBA可で質問しているのに自己解決出来ないなら使わない方が良いんじゃね?と思う
職場なりで多数の人が使う場合は特に オフィス2019って一般人はいつ買えるんですか?
今後数週間のうちにリリースと、1ヶ月前に見た気がするんですが。
あと、excelしか使わないんですが、オフィス2019発売の際、バラ売りしてくれますか?
それともバラ売りは少し発売日が遅れる、もしくはバラ売り自体やらないんでしょうか? 会社で自分以外が使うブックには基本VBAは入れないな。
あいつらファイル参照や自動作表どころか単純な関数すら別のブックにシートコピーとかやって効かなくして壊れたと騒ぐ。 vba内にデータを持たせたり
参照しているシートはロックしたり隠したり手段はあるが
まぁ作る側は面倒だよな フールプルーフの良い練習になるから、あまり不満は無いかな Office2019は海外Amazonとかだともう売ってるんだよな
日本語版はまだらしい。いつになるかは分からなくてすまん
ただ、2019の新機能はOffice365にしてればアップデートでもう反映されてる >>775
逆にそういうのをVBAで防ぐこともできるじゃん >>775
マクロはロックしてます。公開後の修正はめんどいですが。 2019使ってるけど、正直そこまで・・・感
OCRもグダグダだし、SORT関数もそもそもVBAでさんざんやってきたこと
まぁ2019がデフォの世代はすごく生産性が高いだろうね 【1 OSの種類 .】 すみません、分かりません…
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
分かる方いたら教えてください。
例
A1セル:10
B1セル:15
C1セル:5
であったときに、
@A1からC1の間で、一番大きい数のセルを選んでください。
AA1が1番大きかった場合はAを、B1が1番大きかった場合はBを、C1が1番大きかった場合はCを返してください。
この2つの関数を組み合わせたいのですが、教えて頂けませんか?
よろしくお願いします。 excelの差分ツール教えて
いままでAiperDiffexを便利に使ってたんだけど、
Win 10にしたら調子悪くなってしまった
スクロールすると波打つ感じ >>783 どれがいいのかわからんかった
=MAX(A1:C1)
=MATCH(MAX(A1:C1),A1:C1,0)
=MID("ABC",MATCH(MAX(A1:C1),A1:C1,0),1) >>785、787
785の方の3つめの式で解決しました!
ありがとうございました!助かりました!!
787の方も回答下さりありがとうござきました! >>785、787
785の方の3つめの式で解決しました!
ありがとうございました!助かりました!!
787の方も回答下さりありがとうござきました! 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2010
【4 VBAでの回答の可否】 可
シートにテーブルTable1がありまして列3と列5だけをCSVで出力したいのですが
よろしくおねがいします。
行数は日々変動いたします。 >>790
順番は?
C1,C2,C3 改行
E1,E2,E3 改行
でいいの? >>791
具体的にデータを作りました
テーブル1(Table1)
番号, 都市, 名前, クラス, 判定
1002, 東京, 山本, A組, o
1003, 千葉, 戸田, B組, o
1005, 東京, 鈴木, A組, x
・
・
これを下のようにCSVで出力です
名前, 判定 改行
山本, o 改行
戸田, o 改行
鈴木, x 改行
アドレスではなくテーブル名と列名を使った構造化参照での回答がありがたいです 自分なら別ブックにデータを抜き出して それをCSVで保存する 別シートに列コピーを2回やってCSVで保存だな
こんな単純な作業、VBAとかで自動化するまでもないと思うけど >>794
これと同じ操作がテーブル違い列違いで30テーブルくらいあるんですよ そして最低週1回以上のCSVデータの更新が必要でして テーブルをどうやって指定するかとか、csvファイルの名前や保存場所をどうするかとか、色々ある。
inputboxで指定するのか、シートにテーブルは1つと決まっていてそれを自動で取得するのかとか。
自分で作らないと思うようにできなさそう。 データの抜き出しはコピペでもいいしピボットでもいいしvbaでもいいし 好きにやればいいと思う 【1 OSの種類 .】 Windows** 7
【2 Excelのバージョン 】 Excel** 365(体験版みたいなやつ)
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
今まで24型モニタDPI=100%で印刷していたのを
27型モニタDPI=117%で印刷しようとしたところ、印刷範囲がずれてました。
原因はDPIみたいで、最初に作ったのがDPI=100ならば、それが基準になるので
新しい環境に変えてもDPI=100%しなければならないとの事で
これを踏まえての質問があります。
DPI=100%以外の数値でも、印刷範囲をずれなくする方法を
液晶モニタを変える 解像度を変える 以外であれば教えてください
1年に十数ファイルも印刷するので、特定のファイルにのみ効果を及ぼす方法は駄目です。一度設定すると今あるファイルは勿論、今後作成するファイルにも
影響する方法が望ましいです。
Windows10にする Excel2019にする 特定のシェアウェア フリーウェアを導入する等、あらゆる方法をOKとします。 >>790
Sub TEMP()
Dim TBL As ListObject
Dim RowClient As ListRow
Set TBL = Worksheets("Sheet1").ListObjects("Table1")
Open "D:\TEMP.CSV" For Output As #1
Print #1, TBL.HeaderRowRange(3) & "," & TBL.HeaderRowRange(5)
For Each RowClient In TBL.ListRows
Print #1, RowClient.Range(3) & "," & RowClient.Range(5)
Next
Close #1
End Sub >>799
印刷範囲はずれるものと思っておいたほうが良い
個人的には、vbaで改ページ合わせるしか無いと思ってる >>793
>>800
ありがとうございます
いただいた情報を参考にしなが自分なりに作成してみます >>790>>795 について
全シートの3・5列をCSVで出す。より
全シートを1つにまとめたシートかCSVを作る マクロを作っておいたほうが将来的に楽よ
シート名,行番号,A列,B列・・ の1つにまとまったものがあれば
今回の要望も手作業のコピペ+出力で足りる可能性がある >>799
ディスプレイの設定が印刷に関わる?
Excelのバージョン、OS、プリンタとプリンタドライバは同じなのかな。
印刷範囲の設定がちがちにして、余白に余裕があれば、PC変えても大概ズレないが
環境により印刷可能サイズが狭くなるので、ギリギリの%指定で作ってるとたまにはみ出す
A. もし印刷だけの資料なら、PDFにしてしまったほうが確実 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ(マクロの記録程度なら可)
【4 VBAでの回答の可否】 可能であれば使わない方法で、使わなければ解決しないようであれば使った回答をお願いします。
直撮りで申し訳ないのですが、画像のような表で、17行目の@〜Eに、空白を除き、各行ごとに比較して、各列(H31〜H26)に最小値が入っている個数をカウントしたいです。
例えば、
@は10行目の1908と16行目の1913の2個が最小値なので「2」
Aは14行目の1805が最小値なので「1」
Bは最小値が無いので「0」
と表示させたいです。
COUNTIFやMINを使ってやってみたのですが、うまく行きません。ご教授よろしくお願いします。
https://i.imgur.com/jd1K1JD.jpg >>805
追記
たとえば@に入る関数を示していただければ、A〜Eについては引数を変える程度はできますので、1つ例として挙げていただくだけで結構です。
よろしくお願いします。 =if(SMALL(a2:h2,COUNTIF
(a2:h2,"")+1)=a2,1,0)+if・・・ 別シートで、最小値かどうかを1,0で保持する
そこの縦で1のカウントをとる
Sheet2のA2に =IF(A2=MIN($A2:$H2),1,0) で票の範囲全部にコピー
@〜には=COUNTIF(A$1:A16,1)
いっぱいシートがあったり、行数がちょくちょく変わるのであれば。。。困ったな >>805
G列に最小値を入れて配列数式で計算するのはどうでしょう? >>809
具体的に数式書くと
=sum(if(A2:A16=$G$2:$G$16,1,0))
これを配列数式で入力 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
2019から搭載されたideasって機能が見当たらないのですが、
表示させるにはなにか操作が必要なのでしょうか?
https://i.imgur.com/exstLyf.png
shareの下辺りに出ると思うのですが >>811
>>2019から搭載されたideasって機能が見当たらないのですが、
2019から搭載???
Excel のアイデア(Excel for Office 365)
https://support.office.com/ja-jp/article/excel-のアイデア-3223aab8-f543-4fda-85ed-76bb0295ffc4 AIとか搭載されたのか、知らなかった。
そのうち「先月と同じ報告書」って入力したら同様の書類全部作ってくれるようになるな >>801
えー マイクロソフトは何年も前から仕様です で済ませてるし
全然改善しようしないですよね。VBAはよく判らない><
>>804
液晶モニタのみ買い換えたんですよ 他は同じです
毎日の売り上げを基調してるんで、pdfオンリーではないです>< Excelで質問です
A1に数字の1が入力されたら
B2に300を入力するという
関数を教えてください >>812-813
365の機能でしたか、残念
2019で搭載!と言ってるブログが多くて信じてしまいました。試したかったなぁ 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 はい(コピペして一部編集して使うくらいのレベル)
【4 VBAでの回答の可否】 可
表の構成が同じSheet1とSheet1(1)があります
最終行はSheet1とSheet1(1)で違います
A列をA5から順番に1つ1つ下に見てA列が一致するB列以降をSheet1(1)からSheet1に
B列以降の列を値で貼り付けしたいです
B列からどこまでコピペするかは変えるかもしれないので簡単に変えられるようにしておきたいです
要はvlookupのようなことがしたいですが
vlookupだと式を1列ずつコピーして値で貼り付けになり時間かかるので
値でいきなり貼り付けたいです >>819
Sub 探すで()
Dim Y1 As Long
Dim Y2 As Long
Dim X As Long
Dim r As Range
Const START_ROW As Long = 5
Const COPY_MAX_COL As Long = 20
On Error GoTo eH
Application.ScreenUpdating = False
For Y1 = START_ROW To Sheet1.Cells(START_ROW, 1).End(xlDown).Row '、空白でストップ
Set r = Sheet2.Columns(1).Find(Sheet1.Cells(Y1, 1).Value, , , xlWhole) 'A列で探す
If Not (r Is Nothing) Then
Y2 = r.Row
Sheet2.Range(Sheet2.Cells(Y2, 2), Sheet2.Cells(Y2, COPY_MAX_COL)).Copy
Sheet1.Cells(Y1, 2).PasteSpecial xlPasteValues
End If
Next Y1
eH:
Application.ScreenUpdating = True
End Sub sheet2 = Sheet1(1) で。
あ、不細工やらかしてるけど、動く動く。 >>820-821
できました!
アレンジして使いたいと思いますが質問あります
Const START_ROW As Long = 5は5行目から須田とかと思うのですが、
Const COPY_MAX_COL As Long = 20は横幅は20列がコピーするMAXという意味でしょうか?
塗りつぶした色付きでコピーすることできるでしょうか? シートAに
シートBのB列からシートAのAB9と同じ文字の行を探し
シートBのその行のCQ列の文字をシートAに入力したいのですか
その計算式を
=IF(ISERROR(VLOOKUP($AB$9,シートB!$B:$CQ,85,FALSE)),"",IF(VLOOKUP($AB$
9,シートB!$B:$CQ,85,FALSE)="","",VLOOKUP($AB$9,シートB!$B:$CQ,85,FALSE)))
としたのですが
なぜか
CQではなくCH列の文字を入力します
シートAに
シートBのB列からシートAのAB9と同じ文字の行を探し
シートBのその行のCQ列の文字をシートAに入力したいのですか
その計算式を教えてください 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b) >>823
=IFERROR(VLOOKUP($AB$9,シートB!$B:$CQ,94,FALSE),"") >>824
>>825
ありがとうございます
解決できました
列番号ところがポイントでした
ここを範囲を指していると勘違いしてました =L26*U26が
L26とU26の値が無いの場合は
♯VALUE!
になってしまいます
これを♯VALUE!ではなく空白にするには
=L26*U26をどうすれば良いですか? >>822
値でコピーしたいというので値コピーだけにしちゃった。
VLOOKUPにならないようにってことね
全コピーでOKなら 中央を差し替え。
If Not (r Is Nothing) Then
Y2 = r.Row
Sheet2.Range(Sheet2.Cells(Y2, 2), Sheet2.Cells(Y2, COPY_MAX_COL)).Copy Sheet1.Cells(Y1, 2)
End If >>830
できました!
ありがとうございます、完璧です >>805
既に同じような方法が書かれておりますが、
G列に各行の最小値をMIN関数で求めておき、
まる1=SUMPRODUCT((A2:A16=$G2:$G16)*1) そんな便利な関数が、勉強になりました。サムあなどってた SUMPRODUCTは重い たくさんあると目に見えて遅くなる SHIFT + SPACE (行選択) て突然効かなくなるけど何で?
テンプレ無視ですみません 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 2010
【3 VBAが使えるか .】 否
【4 VBAでの回答の可否】 否
B列にコードが並んでいて、それが正しいパターンかをC列に○×で表示させたいです。
正しいパターンは半角7桁で最初の3桁が英字(大文字)で残り4桁は数字です。
どうすれば条件通りに○×をつけられますか? ExcelのVBAがPythonベースに変わるという噂を聞いたんですけど
本当ですか? >>837
=
IFERROR(
IF(
AND(
AND(CODE(MID(A1,1,1))>64,CODE(MID(A1,1,1))<91),
AND(CODE(MID(A1,2,1))>64,CODE(MID(A1,2,1))<91),
AND(CODE(MID(A1,3,1))>64,CODE(MID(A1,3,1))<91),
AND(CODE(MID(A1,4,1))>47,CODE(MID(A1,4,1))<58),
AND(CODE(MID(A1,5,1))>47,CODE(MID(A1,5,1))<58),
AND(CODE(MID(A1,6,1))>47,CODE(MID(A1,6,1))<58),
AND(CODE(MID(A1,7,1))>47,CODE(MID(A1,7,1))<58)
),"○","×"),
"×")
>>838
検討中
実際に決まってるのはjsの方 IF(IF(IF(IF()))) しか知らん無知やった。AND ちぃ憶えた >>841
エクセル2019ではifs()関数ってのが出るからもうちょっと楽になるよ >>840
IFERRORとCODEを使ってる理由、ANDを二重にしている理由の解説きぼん
俺はこんなんでもいいかと思ったんだが、だめなんだろうか、あんまりEXCELに詳しくないんでよくわからん
=IF(AND(LEN(B1)=7,
"A"<=MID(B1,1,1),MID(B1,1,1)<="Z",
"A"<=MID(B1,2,1),MID(B1,2,1)<="Z",
"A"<=MID(B1,3,1),MID(B1,3,1)<="Z",
"0"<=MID(B1,4,1),MID(B1,4,1)<="9",
"0"<=MID(B1,5,1),MID(B1,5,1)<="9",
"0"<=MID(B1,6,1),MID(B1,6,1)<="9",
"0"<=MID(B1,7,1),MID(B1,7,1)<="9"),"○","×") >>843
文字列そのままで比較は怖くて使わないだけ。vbaで挙動が変わったりするしね
でも今回みたいにA-Z、0-9ぐらいなら使っても問題なかったわ
>>840よりも>>843の方が良いと思う 数字判定って少数や指数認めるので記号不可はまとめて判定しづらい
AAA-987 BBB12.3 CDE+456 ZZZ10スペース2つ
などが抜ける 一個ずつ四則演算してエラー分岐も考えたけどもうええかなって TRIMとかINTとFORMATあたりを組み合わせて0000から9999に入ってるかどうか調べる手も考えられるけど、たぶん1文字ずつ判定の方が式が簡単になるんと違う?
誰かヒマなやつ、逃避したいやつ、考えてみてくれ みんないつもVBAでやってて
あえて数式で文字コード以外になんかあったっけ、って考えた人が結構居そう
・・0000〜9999のデータにMATCHを・ >>844
いや、843は問題がある
大文字かどうかの判別ができてない =AND(
LEN(TRIM(MID(A2,4,4)))=4,
TEXT(VALUE(MID(A2,4,4)),"#")=MID(A2,4,4),
TEXT(INT(MID(A2,4,4)),"#")=MID(A2,4,4),
TEXT(ABS(MID(A2,4,4)),"#")=MID(A2,4,4)
)
>>840が一番だよパトラッシュ・・抜け道あるかもわからん =AND(LEN(MID(A1,4,4))=LENB(MID(A1,4,4)),ISNUMBER(MID(A1,4,4)*1)) =AND(LENB(MID(A1,4,4))=4,ISNUMBER(MID(A1,4,4)*1)) >>851
よく気づくねぇこんな事。内部的にどういう処理してるんだろ
>>852
AAZ0001
でだめだった
>>853-854
それは
AAA-234
でも通るって上に出てるじゃん
正規表現使いたい・・・使いたくない?
まぁあんまりテクニカルな事すると漏れが出てくるね >>855
マイナス問題はabs関数に入れるっていうのはどうかな? >>856
どうかな?と言われても。検証は自分でやって
そこまでテクニカルにすると逆にしんどくなるだけだとは思う。俺ならしない 今気づいたけど、840も問題あるね
数字が5文字以上でも○になる >>858
あーlen()いるのか
もうやだー
=
IFERROR(
IF(
AND(
len(a1)=7,
AND(CODE(MID(A1,1,1))>64,CODE(MID(A1,1,1))<91),
AND(CODE(MID(A1,2,1))>64,CODE(MID(A1,2,1))<91),
AND(CODE(MID(A1,3,1))>64,CODE(MID(A1,3,1))<91),
AND(CODE(MID(A1,4,1))>47,CODE(MID(A1,4,1))<58),
AND(CODE(MID(A1,5,1))>47,CODE(MID(A1,5,1))<58),
AND(CODE(MID(A1,6,1))>47,CODE(MID(A1,6,1))<58),
AND(CODE(MID(A1,7,1))>47,CODE(MID(A1,7,1))<58)
),"○","×"),
"×") 文字列判定なんて普通は1行のもんで
飲み会二時間盛り上がれそうな奴が揃ってるな >>837
作業セルを2つ作って、一つはアルファベット、もうひとつは数字を入れておく
それを使って1文字ずつfind関数に入れていって、全部足したのがエラーになるか判定する
どうかな? いいな、いっそ桁ごとに、7セル有効文字データを持つ方が好き
桁不足と全角文字入りを突破すれば行けそう 大文字と小文字の問題がなあ、無視してくれる関数があるから
UPPERして同じかどうか判定するか
AAA〜ZZZはセルの列アドレスに変換してどうにかならんかな
あと、元の質問はB列の判定だから、サンプル上げるやつはA1じゃなくてB1と書いた方が
>>859
ANDを入れ子にする必要はないだろ 後ろ4文字が数字かどうか
思ったほど短くならんかった
=IFERROR(RIGHT(B1,4)=TEXT(RIGHT(B1,4)*1,"0000"),FALSE) =IF(AND(
LEN(B1)=7,
CODE(MID("AAA0000",{1,2,3,4,5,6,7},1))<=CODE(MID(B1,{1,2,3,4,5,6,7},1)),
CODE(MID(B1,{1,2,3,4,5,6,7},1))<=CODE(MID("ZZZ9999",{1,2,3,4,5,6,7},1))
),"○","×")
=IF(IFERROR(AND(
LEN(B1)=7,
FIND(MID(B1,{1,2,3},1),"ABCDEFGHIJKLMNOPQRSTUVWXYZ"),
FIND(MID(B1,{4,5,6,7},1),"0123456789")
),),"○","×") 865の下段が完成形ぽいね
より短くするならfind()をひとつにできるけど、それだと可読性が下がる 何がすごいってめちゃくちゃテクニカルなのに可読性が全く損なわれてない事
(もちろん配列が読める前提)
正規表現なしでここまで出来るとは恐れ入った >>866
これは配列定数だよ
配列数式は
{=max()}
みたいに全体が括弧でくくられる奴 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2017
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
VBAについての相談です。
『現在の選択セルがA〜C列の、何れか1セルである』 時に、
キーボードのZ, X, C のそれぞれのキーを押した際、通常の文字入力を行わずに
『Zキーを押したら現在選択中のセルと同じ行のA列のセルを選択し、"〇"を入力して1つ下のセルを選択』
X、C についても同様に
『Xキーを押したらB列のセルに"×"を入力して1つ下に』
『Cキーを押したらC列のセルに"△"を入力して1つ下に』
としたいのですが、どういうコードを書けばいいのでしょうか?
以上、詳しい方ご教授ください・・・ 単純な1キーの監視はAPI使わないと無理じゃないかな
[ctrl]+[x]とかでいいならOnKeyメソッドでいけるんじゃない
位置判定はActivecellのaddressやcolumnで 【1 OSの種類 .】 Windows10と7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
教えてください。
一般的に、モジュールの名前やフォームの名前を、全角の日本語にするのはリスクがあるのでしょうか?
現在、module1などのデフォルト名と、フォームはF01などの半角英数字のみの名前にしているのですが。
数が増えてくると半角数字+日本語という名前にしたいな、と思っています。 ぶっちゃけ自由ですが
1に判りやすさ 2に使いやすさ 3に判りやすさ
mod各種定義 frm01メニュー画面 frm11処理1メイン画面 mod○○系演算処理
VBAコード内で頻繁に使うのであれば、英字オブジェクトのほうが良いですかね、
PG畑の人は育った畑のネーミングルールになると思いますが
プレフィクスに前3文字で種類ぐらいあるといいかな
先頭数字は無理です >>872
シートモジュールに
Sub Sample2()
Application.MacroOptions Macro:="Sample1", ShortcutKey:="j"
End Sub
標準モジュールに
Sub Sample1()
MsgBox "aaa"
End Sub
これでctrl+Jでメッセージボックスが出る
どうでもいいけどこれ、「1」「2」「3」
とか入力してあとで置換した方が早くない??
作ってる途中で無意味な気がしてきたんだけど
>>875
一年ぐらい前。accessのVBAで、functionかフォームの
先頭の文字が日本語だとマクロが動かなくなるという絶望的なアプデがあった
他の人が使うファイルなら、避けれるなら避けたほうが良いと思う
自分が使うものならその場で書き換えればいいだけなので、まぁなんとでもなるからどっちでも良いと思う 自分で入力するリストとかは、○と×はoとxで入力しちゃうな。 あとはooやmやら決めて
キー入力に余計なことやると、文字入力しても影響受けるからお勧めできない 入力は0と1
後は書式設定で反映させるってのをやったことがあるけど、特に意味が無いことに気づいた >>881
sumとかsumproductに使えるからたまに使う 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ (上司に相談したら駄目だと言われた)
【4 VBAでの回答の可否】 否
口で説明するのが難しい場合、グーグルのスプレッドシートを貼り付けても大丈夫でしょうか? >>884
ありがとうございます
https://docs.google.com/spreadsheets/d/1xhIJYvPHB1Th8T28FMbjN527rmZhTbz_lsW-yVEtUUE/edit?usp=sharing
シートを跨いで、データを入れて、最終的には表にしたかったのですが
参照方法を忘れてしまい、処理が出来ません
条件
・実際には1万件近くのデータがあり、来月には更に1万件、来年の今頃にまた1万件来るので
データのシートに情報を投げ入れて、少し弄る程度で表が横に増やせるようにしたい
・該当する月に取引がない場合は、0を入れたい(nullでも可)
お願いします sumproductってテーブルを参照できましたっけ? >>883
よくわからんけど
> 【3 VBAが使えるか .】 いいえ
> 【4 VBAでの回答の可否】 否(上司に相談したら駄目だと言われた)
じゃねーの? >>885
sumifsを使う。所要時間10分
http://fast-uploader.com/file/7096969940696/
ってか、ピボットなら一瞬でできる。所要時間1分
後、シート名風流でいいね。
うんこちんこ書いてる無能には見習って欲しい >>888
自力でやれそうです! ありがとうございます! sumifs、完全に忘れてた…… >>878
エクセルでも起きたよ。ファイルが破損して完全に死ぬから古いエクセル残してない人は積んだ。
ちなみにモジューム名の末尾全角がアウト 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
すみません、式を教えてください。
例えば商品があって
A列 B列
商品 合計
にんじん 0
バナナ 0
りんご 0
味噌汁 0
にんじん 1
団子 0
バナナ 1
にんじん 2
以下同じように続く・・・
というように同じ商品が出たら合計が1つずつ加算される関数を教えてください。
最初は0にしたいんです。次が1で同じのを入力すれば1ずつ増えるようにしたい。
よろしくお願いします。 >>891
B2=COUNTIF($A$1:A1,A2) >>893
B2セルに
=COUNTIF($A$1:A1,A2)
を入れるって意味DAYO >>894
上手く行きました。
ご親切にどうもありがとう!! >>890
も・・モジュール名だけだよな、きっと、
personalのプロシージャはめっちゃ日本語だらけだ。 mac背景色赤()とか
モジュール名は気を付けよう。 普通に使う
無理に下手な英語やローマ字にするよりよほどわかりやすい 漢字で書ける内容なら文字数(バイト数)が減って行が短くできるのが日本語のメリットだな
カタカナで書くぐらいなら英語使うけど ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
A1の文字列の中で部分一致vlookupで別表を使いC1に表示する文字列を変えてます
例 A1:係長 C1:賞与係長級
しかし、昇格が有った場合、その時のみ
A:1 係長→課長 C1:賞与課長
になるようにしたいです。
vlookupで使う表には係長も課長もそれぞれあるため、係長で一致して引っ張ってきちゃいます
条件付き書式のように上位、下位の優先度みたいな感じの設定は出来ないんでしょうか?
もしくは「部分一致で2つ以上マッチした場合、後者・2番目を使うとかできませんか
現状A1を分けることは出来ません >>901
たぶん文字どおりa1に係長→課長と入力されていて、
課長を検索値にしたいってことかと思われる >>906
役職ついてても手作業だと同じだろ?何言ってんだ? >>901
説明が拙くてすいません
>>903
ありがとうございます
仰る通りです
同じセルに設定された違う検索値が並んでる状態で
検索値を選べないのか、優先順位をつけれないのか、ということです
>>904
ありがとうございます
課長だけで特命課長、担当課長などあって、
係長も同様、主任、副主任と、とんでもないことになるんです(´Д`;)
>>905
ありがとうございます
はじめそれで作って部長に出したのですがそこを変えるなと言われました(´Д`;)
理由は謎です >>908
追記
課長だけで7つぐらいカテゴリが有ります
係長、主任、副主任と下がるごとにもっと増えていきます
他社との吸収合の歴史の名残だそうです・゚・(ノД`)・゚・。 >>908
>>905だけど、ファイル見た?
区切るって複数セルに入れるんじゃなく、計算式の途中でfind()で分解してるだけだよ
A3に「係長→課長」が入ってるけど、「課長」で検索するようになっている 最後に級 が付くのと付かないのとの差は何?
矢印がある時だけ 級 を最後につけないって事? 仕様はこうで良いのかな
・矢印で分割された最後の名称をキーにする
・賞与+キーをもとに、1番上の行を取得する。矢印の数は0または1のみ
匿名課長級があるなら課長の検索が出来ないので前付けた
課長代理もあったら、後ろもルール要る で、運用始めたらこんなデータもあるのがわかるんだよな、きっと
課長→暫定据え置き、課長→仮決定)部長級、課長(営業第一)
賞与特命課長補佐級、賞与課長補佐級、賞与課長級査定上
賞与特命課長級査定下、賞与冬課長級 >>915
ありそうで笑ったw
もう一個セパレータ作って、それを基準にするしかないかもね
賞与据え置きの場合
課長→部長☆課長 >>907
自分より年下がどんどん昇格していく情報を知るとつらいんだろ。
俺には経験が無いから分からんけど。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】可
ものすごく大雑把で申し訳ありません。スクショしてあるような上記、横並びのデータを下記、3列の表に入れて印刷したい場合、どういった方法がよろしいでしょうか。
上記のデータは、いつも100程ありExcelデータでもらいます。そのため表だけのシートを別に作り、最終的には印刷して商品に貼り付けたいです。
https://i.imgur.com/pw3V7mJ.jpg >>918
列は縦並びのデータだよ
見本の場合、9業11列
何が100ほどあるかわからない 横1列で来るリストを
印刷しやすい数で複数行に並べたいってことでしょう
カレンダーを一覧から7日区切りに変更したいとか、あるある
折り返しの数が決まってるなら参照を用意したシートに貼り付けるだけ だが
縦並びにして行数が データ数/3てことになると・・・
手作業で三分割して行列変えて貼り付け(おいw >>918
100列のデータを34行×3列にしたいってこと?
100列固定なら
C7: =C3
D7: =D3
E7: =E3
C8: =F3
D8: =G3
E8: =H3
C9: =I3
D9: =J3
E9: =K3
…
とひたすら数式入れたシート作って、貰ったデータをC3からに値貼り付けすればいいかと 1列目:表示行が、INT((件数+2)/3)以下なら出力
データ1からOFFSETで、表示行-1分 列移動したデータ
2列目:表示行が、INT((件数+1)/3)以下なら出力
データ1からOFFSETで、INT((件数+2)/3) + 表示行-1分
3列目:表示行が、INT((件数)/3)以下なら出力
データ1からOFFSETで、件数 - INT((件数)/3) + 表示行-1分
計算式、これでいいのかな・・えーとうーんと。なんかExcel重いから作るのよろしく スレちかもしれんが1列づつ見出しつけてwordで差し込み印刷が手っ取り早い >>918
C7 =OFFSET($C$3,0,(ROW()-ROW($C$7))+((COLUMN()-COLUMN($C$7))*3)) >>918
vba可だから、条件さえしっかり提示されれば簡単そう。 >>918
Sub SubC3Right_to_C7vertical3Line()
Dim rSrc As Range '取得データ
Dim cntX As Long '1列の最大数
Set rSrc = Range(ActiveSheet.Range("C3"), ActiveSheet.Range("C3").End(xlToRight))
cntX = Fix((rSrc.Count + 2) / 3)
Dim N As Long
For N = 1 To rSrc.Count
ActiveSheet.Cells( _
7 + ((N - 1) Mod cntX), _
3 + Int((N - 1) / cntX)).Value = rSrc(N).Value
Next
End Sub 難しい質問ばかりの中、恥ずかしいのですが教えて下さい。
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 ほんの少し
【4 VBAでの回答の可否】 可
データ入力したい行を画面の一番上にして作業をしたいのですが、
例えばC5セルを選択している時に、C5セルを画面の一番左上にするショートカットはありますか?左上が無理なら画面の一番上でもよいです。
スクロールバーのボタンをマウスで押すのが面倒なので、どなたかご存知の方がいらっしゃったら教えて下さい。宜しくお願い致しますm(._.)m >>930
・ウィンドウ枠の固定。AB列と1-4行目を非表示にすると良いかも
・新しいウィンドウを開く
どちらか好きな方で実現できるよ VBAが使えるなら、Application.Goto ActiveCell, Trueでいけるんじゃないかな
それにショートカットキー割り当てとけばいけるにはいける 皆さま早速色々教えて下さって
ありがとうございます!m(._.)m
色々試してみます!!! >>933
目から鱗!
思いつきませんでした、すごい! 教えてください。
エクセル2013です。
普段、クイックアクセスツールバーに「値の貼り付け」などを設定しており、alt+テンキーのショートカットキーで使っています。
同じようにクイックアクセスツールバーからショートカットキーで
・行列を入れ替えて値の貼り付け
・値を乗算して貼り付け
する方法はないでしょうか? >>936
alt→H→V→S→M(乗算貼り付け)
Alt→H→V→S→E(行列を入れ替えて貼り付け)
それかマクロにしてショートカット登録をするか。Undoができなくなるけど。 すいません、教えて下さい。
例えば
2018-11-09|
|朝食|Aさん
|昼食|Bさん
|夕食|Cさん
2018-11-10|
|朝食|Bさん
|夕食|Aさん
2018-11-11|
|朝食|Aさん
|昼食|Eさん
|夕食|Dさん
こういう表があるとします。
1年間続いています。
11-10の昼食がぬけてます。
ほかにも抜けているとして
その部分にセルを自動で挿入
して色付けする方法はないで
しょうか? >>938
vba使える?
あとサンプルファイルアップロードして欲しい VBA使わない方法としては
2018-11-09 朝食
2018-11-09 昼食
2018-11-09 夕食
2018-11-10 朝食
2018-11-10 昼食
2018-11-10 夕食
っていう抜けのない表をつくっておいて、そこに元の表からVLOOKUPで内容を持ってくる それは却下だな、元表の日付が各日1回しか入ってないもの た・・担当者か。 名前が別のなにかだと思ってしまった
日付に抜けが無いと仮定。
テーブルの挿入からピボットテーブルで集計
行を日付、列を食事、値をMAX(名前)。 にすると日毎の表になります >>941 おお、おれも見落とした。そういうことか すいません、再度
2018-11-09|
08:31|朝薬|Aさん
13:21|昼薬|Bさん
19:11|夕薬|Cさん
2018-11-10|
09:00|朝薬|Bさん
18:45|夕薬|Aさん
2018-11-11|
08:45|朝薬|Aさん
13:05|昼薬|Eさん
18:55|夕薬|Dさん
こういう表なんです。
何かといいますと、ある人に
薬を飲ませた時間と担当者の表です。
11-10の昼は飲ませてるですが入力
漏れです。漏れはほかにもありまし
て、それを見つけたい、と。 vba使えません。すんません。
サンプルあげかた調べます 今あげましたサンプルの最後に夕食後薬が二重で
入力してますが、それも間違いです。漏れと二重と
二種類の間違いがあるのです。 VBAなしでやれはツラたん、作れなくとも作って貰った物を使うことは出来るっしょ >>945
作業列使えば、条件付き書式でいけるような気がする。 欲を言えば漏れ、2重入力を別のシートに抜き出して一覧にできたらベストです。そしてそれを印刷して修正すると。
こういうのってVBAをかじれば簡単にできるんでしょうか?それなら勉強したいと思います。 VBA無しだと行挿入不可だから面倒だな
別シートに数式びっしり配置して元データを表示するしか無いのか?
日付の差が1か調べ
食後の時間差も調べる必要がある 考えて頂いてるのに申し訳ないのですが、これですと元のデータと見比べることになり、修正時間が増えてしまいそうです。
理想は「○月○日昼なし、夕2重」みたいに、それを見てそのまま修正できる形です。 基本ロジックは
行の上から処理する。
A列が空白の時はB列C列の内容をハッシュ配列に格納し続ける
A列の次の値にぶつかったらハッシュ配列内の朝薬、昼薬、夜薬の出現回数をチェックする。
各1で揃わなければエラー処理、揃ってればOK
配列初期化
のループ。
日付が連番や、投薬者の抜けもチェックするならもっと細かくなる >>956
別シートは元シートと全く同じ構成にして修正後に元シートに値をコピーすれば問題ないじゃん 過去データをいぢるのは改竄ととられてもしょーもない事態に陥るがいいのか?
それより、今後・将来のことを見据えてキチンとした欠損の無い入力表を整えて
漏れの無い落ちの無い、かつ入力し易い環境をつくるのが
いっちゃん大事なんじゃないのか?
毎月末に翌月分の表を作りたい とかいう方が百万倍誠意あると思えるがな 投薬者の抜けは問題ありません、あくまで、その一日にそろっているかどうかだけです 1/1
朝 投薬 山田
昼 投薬 鈴木
版 投薬
1/2
朝 投薬
昼 投薬
版 投薬
最初からこういう表にしておいて名前w入れるだけにすれば二重はなしい漏れチェックも簡単にできるのでは? だから別シートに抽出がベストと答えてるじゃん、周回遅れはあかんよ >>959
全くその通りです。元々は紙にサインしてたんですが、最近端末に入力することになったんですが、漏れ、だぶりが出てきました。
今現在も紙にサインすることは続いているのですが、データと紙を一致させたい、かつ入力間違いを探して間違えた人に注意したいんです。 それと、この入力というのがExcelにではなくiphon端末を腰からぶらさげて専用のソフトに入力する形です そのソフトのデータ表示をコピーしてエクセルに貼り付けたのが先にあげたサンプルです そのiphoneアプリの設計ミスぽいな、抜けチェック無かったらヤバいじゃないの、人命直結なのに... >>966
いえだめではありません。
私が知らないだけです。 She can't write VBA nowってだけの話、 多分、投薬カレンダーの人だよな。現状がやっつけシステムで引継ぎなんかが大変なんだろう
なんか403エラーで書けん・・ >>967
そこらへんは現物確認で入力と同じように投薬してないとか、2重で投薬するとかはないようになってます。
ただデータがズタボロなんですよ。 とりあえず病院だとvbaのチェックが厳しいッと思うから
これのマクロが動くか試して欲しい
http://fast-uploader.com/file/7097416471333/
マクロが動くならvba書くよ。vbaなら一瞬で終わる
数式でやるのはちょっとキツイ >>967
でもそうですよね。
例えば昼を入力してないなら、「昼が入力されてません。しましたか?」とかメッセージ出るとかにして欲しいですね ごめん、違ってたか。
これは出力結果かなにかで、手作業で修正しても意味が無いのであれば
毎回作業が入るぐらいならマクロ作るべきかな。
システムからOUTPUTでExcelかCSVが出てきてるのであれば、Personalにマクロ作る >>974
それはiphoneアプリ開発者か総務を通して言ったほうがいい
普通に改良してくれるよ
ってか今のままじゃ使い門にならんだろ >>973
あーいえいえ、全然動きます。
個人のパソコンでやりますので >>975
私のあげたサンプルというのが、専用ソフトの一覧表示させたものをドラッグしてコピー、EXCELに貼り付けただけのものです。
修正するのはまたiphon端末の修正という画面で修正します。 元はDBがあるんだろう、そっちからSQLして、修正もSQLで流し込めれば楽だろうに >>980
もうここまで言えば別にいいんじゃね
俺もコード書いてるしそのうち回答するよ
値落ちしなければもうすぐ出来る >>980
スレチでしたか申し訳ない。
ただ関数では無理そうと分かっただけでも収穫です。
VBA勉強します。こんな夜更けにありがとうございます。 >>937
試してみます。ありがとうございました。 ごめん、失敗した
B列が空白
一行下に”朝”、仁行したに”昼”、産業下に”夕”
が入ってれば挿入・・・じゃだめじゃん
続きは明日
http://fast-uploader.com/file/7097418549596/ 専用ソフトの表示をコピーしたものをメモ帳に貼り付けてテキストファイルを上げることはできる?
正直Excel使うケースでも無い気がするので他の方法を試したい
もちろん大体の環境で動くようなやつ >>944
出来た
http://fast-uploader.com/file/7097449026453/
先に重複削除しきってから行の挿入してくれ
重複削除しないとどっちが足りないか分からんからな >>986
専用ソフトっ作った奴に実装を頼めば良い >>983
>> 理想は「○月○日昼なし、夕2重」みたいに、それを見てそのまま修正できる形です。
別シートにこれを出していくなら関数でいけそうだかども
ただ今日はExcel触れないごめん >>937
試しました。
ありがとうございます。
値だけ行列入れ替えなら
alt→HVSVEで行けました。
(乗算なら末尾I)
Undoが効くようにショートカット登録する方法があれば教えてください。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2010
【4 VBAでの回答の可否】 可
(元データ)
,果物,,
,,りんご,
,,,王林
,,,つがる
,,すいか,
,,ミカン,
,野菜,,
,,はくさい,
,,だいこん,
↓
(作成後)
├─,果物,,
│,├─,りんご,
│,│,├─,王林
│,│,└─,つがる
│,├─,すいか,
│,└─,ミカン,
└─,野菜,,
,├─,はくさい,
,└─,だいこん,
上のような系統図をキャラクターで線引きをして出したいのですが
いい方法はないでしょうか >>940,944,989
マクロのコードだけ。Sheet1を調べてSheet2にエラーを出力します。
各日の朝昼夕の投薬回数が1回以外ならエラーとします。日付飛びもチェックしてます
https://pastebin.com/jViyuKGC >>992-993
ツリー表示 csv
辺りで検索たらフリーソフトでありそうな気もするんだが、見つからないな >>994
かたじけないです、ちょっとマクロ勉強してきます >>996
最終日の検査を放置するバグがあったので手直しします。少々お待ちを 頭の option VBASupport 1 は削ってください このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 133日 8時間 46分 8秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。