Excel総合相談所 129
レス数が1000を超えています。これ以上書き込みはできません。
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
▼━関連スレ━━━━━━━━━━━━
前スレ
Excel総合相談所 126(実質127)
https://find.2ch.net/search?q=excel
Excel VBA 質問スレ
https://find.2ch.net/search?q=excel+vba
【質問不可】Excel総合相談所スレの雑談・議論スレ
https://find.2ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80 空白の行があるデータを抜きだそうとすると、ctrl+下キー一発ではむりで、二発、3発、4発と空白の行が出るたびにやらなきゃいけないから面倒だなあというぼやき セル選択のF5に空白セルはあるけど、空白セル以外って無いのかな んー標準と正規表現の違い?
いまいちわからなかった… >>957
うんうん
ちょいといま試せないけど、なんとなく頭の中で… 大量の行からなるデータのうち一部をコピーして別シートに貼るって作業、みんなならマクロにする?
使いまわせるようなやつがいい >>959
条件がはっきり決まってるなら=やindex,matchでやる
それが100回1000回繰り返すとか短時間で済ませないといけないならマクロにする アンダーバーは半角スペースに置換して
B1=TRIM(MID(SUBSTITUTE($A1,"』","________",COLUMN()/2),FIND("[",SUBSTITUTE($A1,"『","[",COLUMN()/2))+1,9))
C1=TRIM(MID(SUBSTITUTE($A1,")","________",COLUMN()/2),FIND("[",SUBSTITUTE($A1,"(","[",COLUMN()/2))+1,9)) すごく微妙な無駄があったんで修正
現代に実在する姓は漢字5文字が最長なので
B1=TRIM(MID(SUBSTITUTE($A1,"』","____",COLUMN()/2),FIND("[",SUBSTITUTE($A1,"『","[",COLUMN()/2))+1,5))
C1=TRIM(MID(SUBSTITUTE($A1,")","____",COLUMN()/2),FIND("[",SUBSTITUTE($A1,"(","[",COLUMN()/2))+1,5)) もっといいアルゴリズムがありそうなのに、思いつかないまま些細なことが気になる
カッコの直後はスペースだからもう1個減らしてもいいじゃん
B1=TRIM(MID(SUBSTITUTE($A1,"』","___",COLUMN()/2),FIND("[",SUBSTITUTE($A1,"『","[",COLUMN()/2))+1,5))
C1=TRIM(MID(SUBSTITUTE($A1,")","___",COLUMN()/2),FIND("[",SUBSTITUTE($A1,"(","[",COLUMN()/2))+1,5)) 「Excel」に「Python」が統合される?
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1097447.html
「Microsoft Excel」にスクリプト言語「Python」を統合しようという機運が高まっているようです。 俺はてっきりC#辺りが無難に来ると思ってたけど、pythonだと超ありがたいな excel2013ですが、シートにパスワード保護を掛けて保存しても、excel2003ではパスワード保護が無視されてしまいパスワード無しの保護なってパスワード無しで開けられてしまいます。
昔に誰かがマイクロソフトのフォーラムに質問していた下記の現象と同じなのですが解決方法はないでしょうか?
excel2013は最新のバージョンにしてありますが解決しないです。
https://answers.microsoft.com/ja-jp/office/forum/office_2013_release-excel/excel2013%E3%81%A7%E3%82%BB%E3%83%AB%E3%81%AB/ecb72d8e-c7a3-47ba-a9f0-68094f5c8044 >968
仕様です
シートのパスワード保護は見られないためではなく、誤って変更するのを防ぐためにあります。セキュリティはゼロです B1=CONCATENATE(C1,D1)
で、このB1を計算式でなく、文字列データにして保存したいんだけど
どうすりゃいいの
データにしたあと、CとDの列は消去。 >>971
B1選択
ctarl+space
ctrl+C
shift+F10
V 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
基本的な質問で恐縮ですが、
セルA1〜C5全てに入力したデータがあって、
他のセル(例えばA6)にoffset関数を使って
A1〜C1、A2〜C2というように行毎にAからC列の情報を参照するにはどうすれば良いでしょうか?
[幅]の設定を3にしても指定したセルの情報しか参照してくれません。 >>968
エクセルでは無理。
保護をしてもシートコピーとかで簡単に開きます。 >>973
仕様です。
計算であれば範囲指定などに使えるがoffset単体でデータの結合は無理。
=offset(hogehogeA)&offset(hogehogeB)&offset(hogehogeC)とか力技で何とかするしかない。 >>972
おぉ、Macだけど同じようにできた。
サンクス
最初のスペースに意味があるんだろうね >>969
>>974
ありがとうございます。
開けられないためでなくr書かれているように計算式を変更されないためにシート内に
入力するセル(非保護)と計算式が入った結果を表示するセル(保護)を設定して
シートにパスワードの保護を掛けて保存してます。
会社がexcel2003で自宅がexcel2013で、そのデータを自宅に持ち帰りパスワード保護を解除してデータを作り変えたりしてます。
そのデータは主に他の支店でも運用(excel2003)しており、自宅で変更した後にexcel2013でパスワード保護を掛けて他支店に送ってもパスワード保護が無意味で開くことができ困ってました。
(会社のexcel2003で再度パスワード保護を掛けて再配布する手間を掛けております)
仕様なら仕方ないですがバグですよね? excel2003でパスワード保護を掛ければ、excel2013でもパスワード保護が掛かったままで正常の動作なのですが
逆が出来ない(2013でパスワード保護を掛けても、2003で使うとパスワード情報が破棄されている状態)のです。 >会社がexcel2003で
まずはここを変えることを提案
>仕様なら仕方ないですがバグですよね?
知らん。とりあえず仕様
サポート終了ってのはそういう事
シートを非表示にしたほうがマシだな
後はvbaにでもするか >>979
vbaにしてもvba自体がvbaでパス解除できるからイタチごっこ >>980
>開けられないためでなくr書かれているように計算式を変更されないために
この目的ならこれで十分
vbaのパス解析してまで触ってくるようなスキルがある奴ならそもそもこんな問題は起こらない
はい、論破 >>973,975
一応補足すると、2016からはtextjoin関数が増えてできるようになった。
それに対応するために、同等の動きをするVBAがネットで検索するといくつかヒットする。
ご参考まで。 a1に
SH-800×250×14.0×22.0×18
と入力されているものを
b1に800
c1に250
d1に14
e1に22
f1に18
と入力するようにして欲しい
出来ればvbaと数式両方欲しい データの区切り位置
数式はめんどくさいし、vbaは区切り位置を自動化するだけだな >>983
>と入力するようにして欲しい
セルに値を書込みたいならVBAじゃなきゃムリ >>985
VBAじゃないと無理か。VBAが嫌いな上司対応だったのでそれは諦める。
あと懸念事項があって、
800は1000とか4桁になることがある
18は0とか1桁になることがある
こういう風に文字の長さが動的になる。
そういうときどうすりゃいんだろう >>983
B1=MID(A1,4,3)
C1=MID(A1,8,3)
D1=MID(A1,12,2)
E1=MID(A1,17,2)
F1=MID(A1,22,2) >>987
ありがとう
それ使ってVBAでも書きます >>988
>>987さんのだと数字の桁かわるとダメだけど大丈夫なん?
まぁ、状況詳しく書かれてなかったからそういう回答出てくるのも仕方ないけど あとテンプレも使われてないから、自分のバージョンにない関数使われてる可能性あるね >>986
substituteで要らない範囲を全部""で消すのが一番簡単かも でてくる数値が5個固定なら正規表現で決め打ちもできるよ
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\d[\.\d]*"
With .Execute(Range("A1").Value)
Range("B1:F1").Value = Array(.Item(0), .Item(1), .Item(2), .Item(3), .Item(4))
End With
End With >>983 は鋼材表の鋼材種別サイズリストだろうな 丸鋼なんか径×長さだけとかもあるから五つとは限らない {=TRANSPOSE(FILTERXML("<r>"&SUBSTITUTE(SUBSTITUTE($A$1,"-","<a>",1),"×","</a><a>")&"</a></r>","//a"))} >>983の件忙しくて何もしてないです
書いたらアップします
>>989
とりあえず書いてみてあとでそこ動かせばいいかな的なノリ
>>993
その通りなんだけど、>>983が要望なので丸鋼とかは想定しなくて良い >>983
作業列6列使っていいなら関数で答えられる
(使わない事もできるけど無駄に長くなるから避けたい)
今PC使えないから>>994の挙動見れないのが寂しい 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
エクセルでグループ化しての非表示状態(+と-で表示、非表示を切り替えできるやつ)のときや非表示のときに、
セル範囲選択してコピー&ペーストすると非表示部分までコピー&ペーストされてしまうんですが、表示部分だけコピーして非表示部分はコピーされないようにする方法ってないでしょうか? >>998
ありがとうございます!早速明日会社のエクセルで試してみます!助かりました! >>999
必ず可視セルの選択ボタン押して→コピー、な このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 80日 3時間 56分 39秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。