トップページ⇒bsoft
1001コメント421KB

Excel総合相談所 118 [転載禁止]©5ch.io

レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@そうだ選挙にいこう2015/04/30(木) 09:09:15.74
▼━質問テンプレ (必ず使ってね) ━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

▼━関連スレ━━━━━━━━━━━━

Excel VBA 質問スレ
http://sirtuin.me/index.php?word=Excel%20VBA%20%E8%B3%AA%E5%95%8F%E3%82%B9%E3%83%AC%20

【質問不可】Excel総合相談所スレの雑談・議論スレ
http://sirtuin.me/index.php?word=Excel%20%E9%9B%91%E8%AB%87
0002名無しさん@そうだ選挙にいこう2015/04/30(木) 09:09:58.96
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━
・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F)
・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意
・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。
・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。
・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。
・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。
  ここは技術的な質問のみで。
・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ないことも出来ます。
  Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、
  どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。
  但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。
  ここみたいに丸投げはダメですよ。
・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。
  例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。
  その上で、どううまくいかないのかを具体的に書きましょう。
  エラーが出るなら、何処でどういうエラーが出るのか、
  想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。
・9 マルチはダメ。一度マルチしたら、謝っても他のスレの質問を取り下げても回答は得られないと思ってください。
・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、
  チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、
  ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。
・B 書籍や解説サイトの紹介依頼はスレ違い。ここは技術的な質問のみで。
0003名無しさん@そうだ選挙にいこう2015/04/30(木) 09:10:24.88
前スレから使ってね
Excel総合相談所 117 [転載禁止]?2ch.net
http://peace.2ch.net/test/read.cgi/bsoft/1423908437/
0004名無しさん@そうだ選挙にいこう2015/04/30(木) 18:27:24.69
エクセルで3つのベン図を用いる計算を行うことはできますか?

例えば、以下のような高校数学の数学Aの分野に該当する計算です。
バナナ好きは3人、リンゴ好きは4人、ミカン好きは5人、リンゴとミカンが好きなのはX人です。
Xを求めなさい。

セルに数値を入力するだけで求めたい値を知ることが出来ますか?
エクセルでは無理ですか?
0005名無しさん@そうだ選挙にいこう2015/04/30(木) 18:31:16.24
↑
osはwin7
excel 2010
VBAは使えません

素人レベルなのでこのような計算が可能か無理かを知りたいです
0006名無しさん@そうだ選挙にいこう2015/04/30(木) 18:43:12.43
>>4-5
前スレ埋まるまでは前スレ使って欲しい
まぁ、その質問はエクセルと関係なく「数学的に解けない問題」だと思うけど
0007名無しさん@そうだ選挙にいこう2015/05/01(金) 00:32:04.42
>>4です

>>6
ワードやエクセルで図の挿入からスマートアートでベン図の表自体を表現して
それに計算機能を持たせて計算処理ができるようにしたいのが目的だったのですが不可能みたいですね

前スレ飛ばして申し訳です
0008名無しさん@そうだ選挙にいこう2015/05/01(金) 05:01:26.48
>>7
だから前スレを使えと……

んで、エクセルで出来ないんじゃなくて、
あの質問は答えを出すのに必要な条件が不足してるから、
たとえどんな方法でも解けないっていってるの

あれだけだと
0 <= x <= 4
という所までしか絞り込み出来ないでしょ?

もっときちんとした問題ならエクセルで解ける可能性があるよ
ただ、場合によってはマクロ必須だと思うけど

およそ人間に出来る計算ならほぼ全部エクセルで実現可能です
0009名無しさん@そうだ選挙にいこう2015/05/01(金) 11:25:12.10
>>8
前スレなんてとっくにDAT落ちしたよ
0010名無しさん@そうだ選挙にいこう2015/05/01(金) 12:05:10.44
>>9
スレがまだ埋まってなかった時点のレスにそんなこと言っても意味ないと思う
0011名無しさん@そうだ選挙にいこう2015/05/02(土) 13:26:02.07
1つのシートでやるか複数のシートに分けるか悩む
例えばvbaでセル範囲を取得させる時、
あとから追加項目が出たせいで列を増やす→vbaで指定する範囲がを全て修正しなきゃいけなくなる

あとでああ、分けた方が良かったなあとなる
こんなことが1年続いてるからセンスないんだろうな
かといってシートを増やし過ぎると切り替えが面倒だし…
0012名無しさん@そうだ選挙にいこう2015/05/02(土) 13:56:49.03
ちゃんと作るときは
入力・出力・設定(readme含む)
が一番多い。
多くても
入力・tmp・出力・設定
ぐらい
0013名無しさん@そうだ選挙にいこう2015/05/02(土) 13:58:14.80
>>12
4シートってこと?
なるほどなあ
0014名無しさん@そうだ選挙にいこう2015/05/02(土) 14:02:52.76
前に質問した者です
文脈理解してもらえてないので詳しく伝えます

100人の教室にAが好き90人、Bが好き75人、Cが好き60人、AB両方好き68人、BC両方好き38人、AC両方好き55人います。
全部嫌いは1人。

全部好きは何人か?
好きなものが2つある人は何人か?

答えはそれぞれ35人、56人となります。


これをエクセルで解けるようにするにはどうすれば良いですか?
ドモルガンの公式を使えば簡単に解けますが、その計算を素早くしたいです。
セルに数字を入れるだけで、数値が求まるようにできませんか?

お願いします。
0015名無しさん@そうだ選挙にいこう2015/05/02(土) 14:07:09.28
>>14
公式あるじゃない
a+b-aかつbをするだけでしょ
0016名無しさん@そうだ選挙にいこう2015/05/02(土) 16:12:54.12
>>14
文脈を理解してないのは君のほうだ
条件がきちんと確定されていればエクセルで出来ると既に回答しただろうが
0017名無しさん@そうだ選挙にいこう2015/05/02(土) 21:38:18.61
条件後出しの釣り氏はスルーで
0018名無しさん@そうだ選挙にいこう2015/05/02(土) 22:40:37.70
VBAの勉強始めたばかりやけど配列全然理解できん
UBondとかもー意味わからん
0019名無しさん@そうだ選挙にいこう2015/05/02(土) 23:51:30.28
>>18
配列ははっきり言って覚えるまでが大変。そのかわり超便利。
他の言語だと必須だけど、vbaの場合セルを配列代わりに使えば覚えてなくてもなんとかなる(セルは元々配列なんだけどね)
どっちかというとセルの操作を覚えたほうがいいよ。
使っているうちに覚えるさ。

このへんでも見ながら覚えると良い。
http://www.officepro.jp/excelvba/array/
C言語のリファレンスの解説の方が読みやすいかも?流し読みすると良いよ
http://www.cc.kyoto-su.ac.jp/~yamada/programming/array.html
http://www.c-lang.org/array.html
0020名無しさん@そうだ選挙にいこう2015/05/03(日) 00:20:26.32
>>18
uboundって何かよく知らないけど配列少しは使えるからヘーキヘーキ
0021名無しさん@そうだ選挙にいこう2015/05/03(日) 05:47:15.28
>>19
ありがとう
少し気が楽になったよ
0022名無しさん@そうだ選挙にいこう2015/05/03(日) 12:56:49.87
>>19
>配列ははっきり言って覚えるまでが大変
大変だと思ったことがない
0023名無しさん@そうだ選挙にいこう2015/05/03(日) 13:18:05.16
>>22
俺も。配列なんてループ、条件分岐に続いて覚えるもんだからなぁ。
0024名無しさん@そうだ選挙にいこう2015/05/03(日) 14:44:29.80
VBAは中身をきちんと理解してないで曖昧なままでもそれなりに動いちゃうから
かえって深い理解を妨げてるのかもしれないですね

斯く言う私も
for each in の対象になる「オブジェクトのコレクション」などを
イマイチ理解せずに使ってます
0025名無しさん@そうだ選挙にいこう2015/05/03(日) 15:27:12.16
「コレクション」って大昔聞いたなぁ、と思って調べ直したら、これ単なる連想配列か。
連想配列って名前のままなら別言語出身者にも分かりやすいのになぁ
>>24
ところでコレクションなんて、どんな時に使うんですか?
0026名無しさん@そうだ選挙にいこう2015/05/03(日) 16:57:06.48
>>25
ほんとに理解してないんですけどね、
たとえば

Dim wb As Workbook
For Each wb In Workbooks
……
Next wb

みたいな時の Workbooks はWorkbooksオブジェクトですが、
これがその時点で開かれているWorkbookオブジェクトのコレクションに当たるそうです。

語尾に "s" が付いてるか付いてないかの違いに気付かず、

For Each wb In Workbook
……

なんて書いて、エラーが出ても意味が分からずに悩んだりしてました
0027名無しさん@そうだ選挙にいこう2015/05/03(日) 17:21:33.47
>>26
ありがとうございます。
確かにそれはかなり使う。そういやそれもコレクションでした。
Workbooks(0)がWorkbook("boook1.xls")みたいな奴ね。
0028名無しさん@そうだ選挙にいこう2015/05/03(日) 18:07:18.09
>>24
それは関数も一緒
INDEXの関数の意味やネストのことを理解してなかったがMATCHと組み合わせて検索に使ってたバカがここに
0029名無しさん@そうだ選挙にいこう2015/05/03(日) 18:10:21.09
なんか分からなくても使うのは大事だと思う。小数誤差でえらいめに合うまでがテンプレ
なんか分からんし使うのやめよう、では障害効率化など望めないだろう
0030名無しさん@そうだ選挙にいこう2015/05/04(月) 02:16:21.80
>>28
え、indexとmatchって組み合わせたらダメなの?小数検索もうまくやってくれる最強な認識なんだけど
0031名無しさん@そうだ選挙にいこう2015/05/04(月) 12:35:00.61
Excel2003
vbaでシート1のセル範囲B6:L18にランダムで入っている数値をシート2のD46:L88の範囲に参照して表示させることは可能ですか?
シート1の方は結合していない一つのセルに一つの値が入っていて、シート2の方はセル2つを結合したところに表示させたいです。
可能ですか?
0032名無しさん@そうだ選挙にいこう2015/05/04(月) 13:12:53.05
>>31
可能です
結合セルのアドレスは一番左上のセルです
0033名無しさん@そうだ選挙にいこう2015/05/04(月) 16:26:16.34
>>31
VBA使う必要ないじゃん
0034名無しさん@そうだ選挙にいこう2015/05/04(月) 17:54:31.29
【1 OSの種類         .】 Windows8.1Pro
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
宜しくお願いいたします。残業時間の表を作っています。色々と条件分けしているのですが
IF,AND,ORの羅列になってカッコが多くなり非常に見づらく、よく間違えます。
式を見ると何やら自動で色分けされている様ですが似たような色でチカチカするだけであまり
判読性が上がりません。
エクセルで式を作るときに解りやすくする様なコツはありますでしょうか?
自分としてはあとで修正しやすい様に一度に計算させず、分けられる所はセルを分けたり
ラベルを使う様にしているのですがそれでも閉じカッコ4連続なんて式が出来てしまいます。
・・・閉じカッコ4連続位は仕方ないですか?
0035名無しさん@そうだ選挙にいこう2015/05/04(月) 18:01:59.69
>>34
わかりやすさ優先なら作業列をたくさん作ればいい
色々な条件に合うかどうかも1条件に1セル使って、最後に合計を出すとか
0036名無しさん@そうだ選挙にいこう2015/05/04(月) 18:02:08.49
どういうデータで、どういう計算してるか書かないと;
0037342015/05/04(月) 18:23:20.41
素早いお返事ありがとうございます。
スミマセン。データや計算を提示するとはエクセルに使った式をそのままコピペで宜しいのでしょうか?
一応、下記の式は無事に動いています。ラベルにしているので漢字の部分も含めてまんまコピペです。
ちなみにこのファイルは4か月前に作った物でチョット手直ししようとしたら自分でも解りづらくて
難渋しました。
また、書き込みしようとしたら長すぎると怒られたので改行入れてます。

残業終了時間を分類する式です。残業開始時間も似た様な感じでもう少し単純です。
=IF(AND((終了時刻>=VALUE("0:00")),(終了時刻<VALUE("5:00"))),1,IF(AND((終了時刻>=VALUE("5:00")),
(終了時刻<VALUE("22:00"))),2,IF(AND((終了時刻>=VALUE("22:00")),(終了時刻<VALUE("24:00"))),3,
IF(AND((終了時刻>=VALUE("24:00")),(終了時刻<VALUE("29:00"))),4,5))))

残業時間を計算する式です。条件によって似た様な式が8個並んでいます。
=IF(AND((開始時刻_分類=3),(終了時刻_分類=5)),終了時刻-VALUE("29:00"),IF(AND((開始時刻_分類=1),
(終了時刻_分類=2)),終了時刻-VALUE("5:00"),""))
0038名無しさん@そうだ選挙にいこう2015/05/04(月) 19:17:31.76
長いね。

例えば、時刻を判定するだけの作業列を複数つくる
=AND((終了時刻>=VALUE("0:00")),(終了時刻<VALUE("5:00")) 
とか、名前化しても良いけど視覚化したほうが、後々分かりやすい
メインセルは、それぞれの条件式セルを指定する
あと時刻をいちいち値化しているけど、どこか別のセルに置いとくとかしたほうが単純に書ける
=終了時刻>=そのセル
0039名無しさん@そうだ選挙にいこう2015/05/04(月) 19:21:04.00
細かく分けて作業列にして、コメントを入れておくのが一番じゃないかな
条件ごとにその条件が成立しているときの作業列に色を塗るみたいな方法もある

後から見て分かるようにするには、簡単な式を最後に統合するぐらいがいい
0040名無しさん@そうだ選挙にいこう2015/05/04(月) 20:03:52.08
分類する式は対応表つくってVLOOKUP使った方が視認性良いし変更しやすい
0041名無しさん@そうだ選挙にいこう2015/05/04(月) 20:56:02.94
式に無駄が多すぎる
根本的な解決にはならないけど、もっと短縮できる

例1
=IF(終了時刻<TIME(5,0,0),1,IF(終了時刻<TIME(22,0,0),2,IF(終了時刻<TIME(24,0,0),3,IF(終了時刻<TIME(29,0,0),4,5))))
例2
=LOOKUP(終了時刻,{0,0.208333,0.916667,1,1.208333;1,2,3,4,5})

一覧表+LOOKUPや作業列を使った方がいいだろうね
可能ならVBAを使った方が可読性は上げられるんだが
0042名無しさん@そうだ選挙にいこう2015/05/04(月) 23:28:08.37
昔作った奴があったな。
ちょっと作りなおしてみるか
0043名無しさん@そうだ選挙にいこう2015/05/05(火) 00:01:43.96
>>34
http://www.dotup.org/uploda/www.dotup.org298310.xlsx.html
作った
入れるのはA2~F3
時刻は「4:30」ではなく「4.3」と入れる
G-Rが作業列でS6が柴舟合計だ
0044名無しさん@そうだ選挙にいこう2015/05/05(火) 09:58:00.13
Excel2003

例えばB列に別シートから引っ張ってきた値を表示させていて2行目は別のシートが空白なら空白値が入っていたらその値と別のシートの計算けっかによって表示がランダムに変更されるとする
その時1行目は2行目に値の入っている場合に限り1~の連番の数字を表示したい
例
A2に100ならA1は1,B2に100ならB1は2、C2が空白ならC1は空白、D2が100ならD1は3
みたいな感じで、2行目に値があるのを確認して1行目の値を1づつ増やしていきたいのです

VBAでしかできないのならVBA での回答でも可です
可能ですか?
0045名無しさん@そうだ選挙にいこう2015/05/05(火) 10:35:25.24
>>44
A1=IF(A2="","",COUNTA($A2:A2))
右にコピペ

読みにくい
せめてこれぐらいは点を入れてくれ

例えばB列に別シートから引っ張ってきた値を表示させていて、2行目は別のシートが空白なら空白、
値が入っていたらその値と別のシートの計算けっかによって表示がランダムに変更されるとする
0046名無しさん@そうだ選挙にいこう2015/05/05(火) 11:01:22.55
>>45
すみません。
以後気をつけます。

どうもありがとうございます。
0047名無しさん@そうだ選挙にいこう2015/05/05(火) 11:04:37.56
表とか作る時、何行何列目から始めてる?
6行か8行ぐらいから作り始めてる
1〜5は作業行なり、重要な数値だけ表から拾って表示させておく場所だったりして、何か開けておきたいんだよね
0048名無しさん@そうだ選挙にいこう2015/05/05(火) 11:07:09.29
必要になったら挿入すればいいじゃん
0049名無しさん@そうだ選挙にいこう2015/05/05(火) 11:08:42.30
>>48
VBAで表からデータを取得する際にあとでいじるの大変だからあまり挿入は…
0050名無しさん@そうだ選挙にいこう2015/05/05(火) 11:20:44.09
>>47
1行目が見出しでデータは二行目
設定項目は別シート
こうしておけばなんとでもなる
あと>>49の通りフォーマット変わるとぐっちゃぐちゃになって地獄が始まる
0051名無しさん@そうだ選挙にいこう2015/05/05(火) 11:28:47.05
>>50
最近、別シートにそういう項目を用意しておけば、多少可読性は落ちるけど怯えることはなくなると気づいてそれを始めた

すごくどうでもいいけどリボンとコマンドの表示ってやつどうしてる?俺は見出しだけにしてるけど
0052名無しさん@そうだ選挙にいこう2015/05/05(火) 11:32:08.60
>>45
僕の説明が悪く、やりたいことが伝わらなかったようなのでもう一度書きます。
2行目に別のシートからの値が入る
1行めに1からの連番とかきましたが、
詳しく書くとA1に入れる数字は1からという訳ではないです。
2行目に数字があるとこの、同列の1行目に任意の数字を自分で入力し、2行目に自動で数字が入っているとこの、真上に任意の数字の連番を、自動でいれたいのです。

A~L列まで使用しています。
例
A2,C2,F2,L2に別のシートからの値が入っているとしたら、
A1に仮に15ならC1に16,F1に17,L1に18
でB,D,E,G,など、2行目に数字がないとこは、空白を返すと言う事をやりたいです。

可能ですか?
0053名無しさん@そうだ選挙にいこう2015/05/05(火) 11:38:19.39
>>49
あとで表の位置をいじるの前提なら、左上の座標を変数に入れておくけどな
0054名無しさん@そうだ選挙にいこう2015/05/05(火) 11:42:07.40
>>52
A1は自分で入れた数値
B1=IF(B2="","",COUNTA($A2:B2)+$A1-1)
B1を右にコピペ
0055名無しさん@そうだ選挙にいこう2015/05/05(火) 11:43:13.55
>>53 そゆことだね ワークシート関数でも範囲は名前定義しとくもの マジックナンバーを入れるのは素人
0056名無しさん@そうだ選挙にいこう2015/05/05(火) 11:45:35.02
>>51
リボンにかぎらず可能な限りデフォで使うようにしてる
会社のが共用PC多いから、自分をデフォに合わせてる
昔はカスタマイズしまくってたんだけどねぇ
0057名無しさん@そうだ選挙にいこう2015/05/05(火) 12:02:09.40
サポートの仕事やってるから、標準状態のメニュー位置を覚えるのは基本
その上で、どんなカスタマイズができるのか把握するのも重要

他人と一切関わらないなら好き勝手にカスタマイズしたりフリーウェアとか使うんだけど
そうも言ってられない
0058名無しさん@そうだ選挙にいこう2015/05/05(火) 12:05:07.48
>>53
>>>49
>あとで表の位置をいじるの前提なら、左上の座標を変数に入れておくけどな
なるほどな
これは参考になる
0059名無しさん@そうだ選挙にいこう2015/05/05(火) 12:25:40.11
数年ぶりに2003触ったら全く使えなくてショックだったな
0060名無しさん@そうだ選挙にいこう2015/05/05(火) 12:39:06.19
EXCEL2010をWindows8.1で使うと計算を含めたセルをコピーした時に
動作がもたつくことがあるんだがうちだけかな?
0061名無しさん@そうだ選挙にいこう2015/05/05(火) 16:28:13.35
>>60
それ単に、スペック不足とかプチフリだろ
0062名無しさん@そうだ選挙にいこう2015/05/05(火) 16:30:30.19
>>61
エクセルを立ち上げてから1回めのセルをドラッグした時のコピーのみ起きます。
i7、メモリ8GBなのでスペック不足ではありません。
0063名無しさん@そうだ選挙にいこう2015/05/05(火) 18:15:19.99
>>62
windows8 セル コピー 重い
でぐぐってかたっぱしから試してみて
win7なんで知らん
0064名無しさん@そうだ選挙にいこう2015/05/05(火) 23:48:35.88
>>62
8.1でoffice professionalとhome and business両方使ってるがなんともないな
0065名無しさん@そうだ選挙にいこう2015/05/06(水) 00:02:53.02
お二人に質問。何となくハードウェアの問題っぽい気がする。
>>62>>64
HDDですか?SSDですか?
0066名無しさん@そうだ選挙にいこう2015/05/06(水) 07:04:52.52
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


勤務表で、指定された日にちの出勤数の合計を各人で求めたいのですが、どうすればいいでしょうか?

例えば、5月は、4日、7日、10日、17日が指定された日だとして、
Aさん〜Eさんの勤務表が、○と休で、1日〜31日まで作られています。

そこから、その指定された上記4日間の出勤数を、
Aさん: 3日
Bさん: 2日
Cさん: 4日
...

のように計算したいのです。
毎月「指定の日にち」は異なるので、

Aさん Bさん Cさん ... 指定日
○   ○   ○   ☆
休   休   ○
○   休   休
○   ○   ○   ☆

のように、毎月手動で☆マークをつけると計算されるようなシートにしたいです。
説明が苦手なので伝わりづらいかも知れませんが、よろしくお願いします・・・。
0067名無しさん@そうだ選挙にいこう2015/05/06(水) 09:56:05.76
>>66
I1=Aさん〜M1=Eさん
と1列ずつに割り振っているとして

I2=SUM((B$2:INDEX(B:B,COUNT($A:$A))="○")*($G$2:INDEX($G:$G,COUNT($A:$A))="☆"))
CTRL+SHIFT+ENTERで確定
後は、M2までオートフィル
H2=COUNT($A:$A)
書式設定のユーザー定義で 全体日数0日にして、
I2=SUM((B$2:INDEX(B:B,$H$2)="○")*($G$2:INDEX($G:$G,$H$2)="☆"))
CTRL+SHIFT+ENTERで確定
M2までオートフィル
にしちゃうという手段もある
0068名無しさん@そうだ選挙にいこう2015/05/06(水) 09:57:17.42
>>65
professionalはHDDとSSD
homeの方はSSD
0069名無しさん@そうだ選挙にいこう2015/05/06(水) 09:57:41.04
>>67
改行し忘れた

M2までオートフィルで一手段完了
おまけとして、その後の数式短くするためにH2=〜は書いた
0070名無しさん@そうだ選挙にいこう2015/05/06(水) 19:25:20.85
>>66
http://www.dotup.org/uploda/www.dotup.org301534.zip.html
解凍pass 無し DLpass mnbvc
てきとーなのでいかようにも改変して使いたまえ バージョン古くてもいいようにxls
0071名無しさん@そうだ選挙にいこう2015/05/07(木) 01:08:11.31
テンキーいまいち使えない
気づいたらテンキーじゃない方のキーで数字打ってる
0072名無しさん@そうだ選挙にいこう2015/05/07(木) 01:17:54.64
>>71
そりゃ羨ましい
コンパクトキーボード使いには憧れる
俺はテンキー内と無理だ
0073名無しさん@そうだ選挙にいこう2015/05/07(木) 01:25:03.83
>>72
ノートで作業することも多いしテンキー有りと無いとで作業感が変わるのも嫌だし覚える気がないってのはある
テンキー本当に慣れないんだけどさ。
0074名無しさん@そうだ選挙にいこう2015/05/07(木) 08:05:38.63
オレは経理関係やってからテンキー必須の体になってしまった
0075名無しさん@そうだ選挙にいこう2015/05/07(木) 09:37:19.98
>>74
まぁ、電卓必須の仕事やってる人間にとって、テンキーは必須だわな。
なので、俺は単独で電卓としても使えるテンキーを使ってる。

USBで繋げていない時は、単体で電卓として使える優れものだ。
0076名無しさん@そうだ選挙にいこう2015/05/07(木) 21:06:33.87
Excel2010で、
2行目にランダムにA~Z列までランダムに数字が表示されていて、
1行目には、2行目に数字が入っているところの上の列だけ数字を入れる
数字は、1からではない。
1行目には、2行目の1番最初に数字が入っている真上の列に入力する
1行目の最初の列に数字を入力したら、2行目に数字が入っているセルの上の行だけ、1行目の最初に入力した数字+1ずつした値をZ列まで表示
みたいなこと出来ます?
0077名無しさん@そうだ選挙にいこう2015/05/07(木) 21:16:31.14
>>76
2行目の数字がない列は、空白になっているという理解でいいの?
それなら割と簡単にできそうだが
0078名無しさん@そうだ選挙にいこう2015/05/07(木) 21:22:59.46
>>77
2行目はA~Zまで数式が入っていて、条件を満たした場合だけ表示されているので、表を編集すると、当然、空白になるとこも変わります。
0079342015/05/07(木) 21:34:08.67
こんばんは。GWで家族サービスしていました。お返事遅くなり申し訳ありません。
>>41様、>>43様
具体的なアドバイス有り難う御座います。
関数に対して全く無知で恥ずかしい式をさらけ出してしまいました。
>>41様
lookup関数は時間に対しても使用できるのですね。勉強になりました。
>>43様はファイルまでアップして頂き誠に申し訳ありません。
正直、あれだけシンプルな式でどうしてこれだけの事が出来るのか
チンプンカンプンですがググって式の意味を自分の物にしたいと思います。
取り敢えずはこれらを使ってメンテナンス性の良い物にします。
今回は本当にありがとうございました。
このスレの皆さんに良い事がありますように。
0080342015/05/07(木) 21:52:45.94
>>38様、>>39様
"困った"にアドバイスありがとうございます。
何分、滅多に自分でエクセルの表を作らない為、
基本的なお作法も良く解っておりませんでした。
書き込みした後で作業列を非表示&保護すれば
見栄えが良くなる&表も壊されない事を知りました。
これなら他人に見られても安心です。
重ねてありがとうございました。
0081名無しさん@そうだ選挙にいこう2015/05/07(木) 23:34:25.56
>>75
電話とボタン配置が違うのが気持ち悪い。
0082名無しさん@そうだ選挙にいこう2015/05/07(木) 23:45:55.64
電話と電卓は配置が違うのが常識だが
もう電卓使ったこと無い世代がいるのな
0083名無しさん@そうだ選挙にいこう2015/05/08(金) 06:57:49.65
>>82
去年まで家の電話がダイヤル式だった俺はむしろ比較する方に違和感が
0084名無しさん@そうだ選挙にいこう2015/05/08(金) 07:26:05.77
>>83
子供の頃ウチにはダイヤル式ですらない、
交換手を呼び出して通話先を口頭で伝える形式の電話機が有った。
その時点でもう利用してなくて単なるオブジェと化していたけど。
0085名無しさん@そうだ選挙にいこう2015/05/08(金) 07:41:52.02
誰か76に答えられませんか?
0086名無しさん@そうだ選挙にいこう2015/05/08(金) 08:13:58.63
>>81
だから何?
0087名無しさん@そうだ選挙にいこう2015/05/08(金) 08:55:16.60
質問が似てるけど>>44と>>76は別人?
0088名無しさん@そうだ選挙にいこう2015/05/08(金) 10:48:34.59
>>65
HDDです。Excelが32ビット版でWindows8.1が64ビット版なんですが。
計算式というか他のセルを参照する数式が入っているセルをコピーした時のみ起きるようです。
Excel立ち上げ後1回目のみです。
0089名無しさん@そうだ選挙にいこう2015/05/08(金) 12:28:02.77
>>76は作業行使っていいならできた
作業行使えないんだと俺じゃ実力不足かな
0090名無しさん@そうだ選挙にいこう2015/05/08(金) 13:02:46.71
>>76
A1はテキトーに
B2=IF(B2="","",MAX($A$1:A1)+1)
0091名無しさん@そうだ選挙にいこう2015/05/08(金) 13:36:39.70
>>90

2個目の数式は

B2 = ……

じゃなくて

A2 = ……

だね
0092名無しさん@そうだ選挙にいこう2015/05/08(金) 13:39:04.94
>>91
あー
そしてそうでもない
B1=IF(B2="","",MAX($A$1:A1)+1)
だった
0093912015/05/08(金) 13:40:37.82
あ、違う
A2でもB2でもなく

B1 = ……

だった。
ごめんなさい、寝ぼけてました。
0094名無しさん@そうだ選挙にいこう2015/05/08(金) 14:08:20.52
教えていいただき、ソフトウエア板 総合質問スレッド Vol.5 から来ました。

エクセルのデータ入力の修正方法について質問があるのですが。。。。

セルに入力した数字を上書き修正するために、そのセルをクリックして数字を上書きした後に、
Enterキーを押すと、元の文字に戻ってしまいます。(普通は上書きされますよね)

また、セルをダブルクリックして編集状態になったところで、Delキーで数字をすべて消して、
空白になったところに数字を入力し、Enterキーを押しても、元の数字に戻ってしまいます。

今まではこの方法で修正できていましたが、1つのセルだけどうしても修正できません。
何か操作方法が間違っているのでしょうか? 

どなたかご教授しただけると助かります。
どうぞよろしくお願いします。

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

※すみません、VBA が何のことかわからないので、回答しませんでした。
0095名無しさん@そうだ選挙にいこう2015/05/08(金) 15:55:02.78
>>92
せっかく回答していただいたのですがやりたいことと違います。
1行目に数字入れるのは、どの列とか決まってなくて、
表を編集したときに、2行目の最初に値が入っている、真上の列に最初の数字を入れたいのです。
なので、例えば、最初C2に値が入れば、C1に1行目のスタートの数字を入力し、D~Zまで、値が入っている行の真上に+1した値を表示したいです。

その日によって、A~Zのどの列に最初の値が表示されるのかは、分からないので、数式での対応ができません。
条件付き書式で対応出来ないかと、考えているのですが、分からないので、お願いします。
0096912015/05/08(金) 16:41:45.55
>>95
「最初の数字」が "1" 固定になっちゃうけど、

A1=IF(A2="","",COLUMN()-COUNTIF($A2:A2,""))

とかはどう?
なんなら何処かのセル(例えばA3)に「最初の数字」を入れるようにして

A1=IF(A2="","",COLUMN()-COUNTIF($A2:A2,"")+$A3-1)

とかさ

それで駄目ならあとはVBAになるんじゃないかなぁ
0097名無しさん@そうだ選挙にいこう2015/05/08(金) 16:46:13.81
>>96
やはりVBAでやるしかないですか…
VBAでマクロを組んだことがないので、もしよろしかったら教えていただきたいです。
0098名無しさん@そうだ選挙にいこう2015/05/08(金) 16:49:49.26
>>97
VBAとマクロは別物だが?
0099912015/05/08(金) 16:58:30.72
>>97
>>96では駄目ですか?


>>98
それ、今ここで区別する必要あるの?
区別せんでも問題なく話が通じてるんだけど。
0100名無しさん@そうだ選挙にいこう2015/05/08(金) 17:11:09.98
>>95
>その日によって、A~Zのどの列に最初の値が表示されるのかは、分からないので、数式での対応ができません。
そんな事ない作業行使えば出来ると思うが
最初の値に対応した1行目の数字はどのような条件で決まるの?
0101名無しさん@そうだ選挙にいこう2015/05/08(金) 17:32:00.76
>>100
前日から引き継がれる番号になります。
なので1から始まる訳ではないのと、基準となる最初の数字を入力するセルの列が、日によって異なる為、数式では無理なのでは、と思いました。

やる方法があれば、数式でも条件付き書式でも良いので、是非お願いします。
0102名無しさん@そうだ選挙にいこう2015/05/08(金) 17:48:04.82
>>101
最初の日は1から始まるの?

日がかわるとSheetが変るの?
0103名無しさん@そうだ選挙にいこう2015/05/08(金) 17:58:04.74
最初の日は1からです。
シートは変わりません。
2行目の値だけ日々、変更していっています。

現在は、2行目に値が入っている列の真上に、全て手入力で入力しているので、それを一つだけ入力するだけにしたいのです。
0104名無しさん@そうだ選挙にいこう2015/05/08(金) 18:22:51.98
>>76
A3=(COUNT($A2:A2)=1)*1
をZ3までオートフィル
これで2行目の最初に数字がある列がどこかわかるから
A1=IF(A2="","",IF(A3=1,A3,INDEX($A3,$Z3,0,MATCH(1,$A3:$Z3,0))+COUNT($A2:A2)))
Z1までオートフィル

って感じでどうだろう
実画面ではなく携帯から打っているのでスペルミスなどあったら済まそ
0105名無しさん@そうだ選挙にいこう2015/05/08(金) 18:52:59.75
>>104
条件付き書式でなく、普通にセルにその数式を入れればいいですか?
01061042015/05/08(金) 18:55:45.20
ああ一行目の一個目は数字を記入するのか
だったら1行目を
A1=IF(A2="","",INDEX($A1:A1,0,MATCH(1,$A3:A3,0))+COUNT($A2:A2)-1)
でZ1までオートフィルに修正かな
実環境手元に今ないから、適当入力だけど
0107名無しさん@そうだ選挙にいこう2015/05/08(金) 19:00:47.27
>>105
そう
>>104の作業行と>>106の本番行を組み合わせればできると思う
作業行は任意の行目にしちゃって問題ない
0108名無しさん@そうだ選挙にいこう2015/05/08(金) 19:42:51.46
>>107
やってみたらきっちり1から連番で表示されたんですが、1行目に数式を入れているので1行目に始めの数字を入力できません。
0109名無しさん@そうだ選挙にいこう2015/05/08(金) 19:43:27.31
>>94
書式設定・入力規則・vbaのどれかだと思う
もしわからないならそのファイルをアップロードしてほしい。俺も見ないと分からん。
0110名無しさん@そうだ選挙にいこう2015/05/08(金) 20:06:18.58
案としては、

AA1で数字を入力することで、

A3=(COUNT($A2:A2)=1)*1
Z3までオートフィル
A1=IF(A2="","",IF(A3=1,$AA1,INDEX($A1:A1,0,MATCH(1,$A3:A3,0))+COUNT($A2:A2)-1))
Z1までオートフィル

なんていうのはどうだろう?
計算式を消すことなく、数字の入力が可能になる
0111名無しさん@そうだ選挙にいこう2015/05/08(金) 20:06:44.75
>>110は、>>108宛て
0112名無しさん@そうだ選挙にいこう2015/05/08(金) 20:08:25.00
>>110
それが一番良さそうなので、そうさせてもらいます。
皆様、本当にありがとうございました。
011310人に一人はカルトか外国人2015/05/08(金) 23:46:09.70
★マインドコントロールの手法★

・沢山の人が偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法


偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い

靖国参拝、皇族、国旗国歌、神社神道を嫌うカルト

10人に一人はカルトか外国人

「ガスライティング」で検索を!
...
0114名無しさん@そうだ選挙にいこう2015/05/09(土) 01:27:17.73
vbaとマクロ違うのか
全然意味わかんないけどなんか使えてるから気にしなくていいや
0115名無しさん@そうだ選挙にいこう2015/05/09(土) 01:38:10.67
VBAは言語の名前。
マクロ・スクリプトはメインのものに対して自動操作する言語の総称。
またコード自体をマクロと呼ぶ場合もある。「マクロの記録」などまさにそれ
>>97は正しい。
エクセルの場合シートやブックの内容を補助するように動けばマクロだし、
シート・ブック関係なしで動くものはもはやマクロと呼べない

つまり「伝われば何でもいい」
0116名無しさん@そうだ選挙にいこう2015/05/09(土) 10:12:52.67
EXCELのスレなんだから、マクロ=VBAと解釈で問題ないだろ。
古いバージョンならVBAじゃないEXCELマクロもあったけど。
だから、「VBAでマクロを組んだこと」と言い方は、「頭痛が痛い」と言うのと同じ。
0117名無しさん@そうだ選挙にいこう2015/05/09(土) 10:24:32.95
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

このような表を↓
おにぎり ジュース お茶
鈴木 1 6
佐藤 2
田中 5 3
中村 10

このようなリストにしたいです↓
鈴木 おにぎり 1
田中 おにぎり 5
鈴木 ジュース 6
中村 ジュース 10
佐藤 お茶 2
田中 お茶 3

「リスト」から「表」の状態にするのは、よくピボットテーブルを使うのですが、
今回は「表」の状態のものを「リスト」の形にしたいです。

イメージとしましては、表の中にある「鈴木おにぎり」の「1」のセルから
下方向に参照していって、該当する数字があるところだけリストに抽出、
表の一番下に行ったら次の「鈴木ジュース」の「6」のセルから
下方向に参照…という流れをマクロで作れませんでしょうか。

宜しくお願いします。
0118名無しさん@そうだ選挙にいこう2015/05/09(土) 10:29:53.53
すみません!

このような表を↓
    おにぎり  ジュース  お茶
鈴木   1       6
佐藤                 2
田中   5             3
中村          10
0119名無しさん@そうだ選挙にいこう2015/05/09(土) 11:57:29.82
>>117
配列にぶっこんで、ループで回す
0120名無しさん@そうだ選挙にいこう2015/05/09(土) 12:02:45.86
>>117
Sub macro1()
  Sheets("Sheet1").Activate  '表のあるシート
  r = 1
  With Sheets("Sheet2")  'リストを作るシート
    For Each c In Range("b2:z100")  '見出しを除いたデータの範囲
      If c.Value <> "" Then
        .Cells(r, 1) = Cells(c.Row, 1)
        .Cells(r, 2) = Cells(1, c.Column)
        .Cells(r, 3) = c.Value
        r = r + 1
      End If
    Next
  End With
End Sub
0121名無しさん@そうだ選挙にいこう2015/05/09(土) 21:28:30.91
▼━質問テンプレ (必ず使ってね) ━━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はいいえ
【4 VBAでの回答の可否】 否

  
赤  重量 10  このような表で重量だけ(回数だけ)の合計を出したい場合はどうすればいいですか?
    回数  2
青  重量 25
    回数  3
黄  重量  8
    回数 11
以下50種類くらい続く
0122名無しさん@そうだ選挙にいこう2015/05/09(土) 21:32:15.92
>>121 追記します
  
赤  重量 10  このような表で重量だけ(回数だけ)の合計を出したい場合はどうすればいいですか?
       \200 またこの表で合計の金額を出したい時もお願いします
    回数  2
青  重量 25
       \350
    回数  3
黄  重量  8
       \150
    回数 11
以下50種類くらい続く
0123名無しさん@そうだ選挙にいこう2015/05/09(土) 21:33:55.11
>>120さんどうもありがとうございました
>>121さんはsumif関数を使用してください
0124名無しさん@そうだ選挙にいこう2015/05/09(土) 22:28:05.14
>>123
合計金額はこれでいいすかね
=SUMIF(B1:B9,"",C1:C9)
012594@Excel初心者2015/05/10(日) 18:44:05.80
>>109さん >>94です。

一つのセルだけ数字を入力しても、なぜか日付になってしまい、
なぜ上書き修正できないのか分からなかったのですが、
109さんのレスを見て、何か原因があるのだと思い、
ネットで調べて「書式設定」で解決できました。

お礼が遅くなってすみません。
どうもありがとうございました!
0126名無しさん@そうだ選挙にいこう2015/05/11(月) 00:13:02.13
メモ帳ファイル中の、ある特定のキーワードがある行から4行を拾ってくることって可能ですかね?
0127名無しさん@そうだ選挙にいこう2015/05/11(月) 00:16:23.60
>>126
vbaで可能
http://officetanaka.net/excel/vba/file/file08b.htm
か、
vba テキスト 読み込み
でぐぐればそれっぽいのがいっぱい出てくると思う

一度やってみてわからない所あれば、また聞きに来るとよろし
0128名無しさん@そうだ選挙にいこう2015/05/11(月) 00:43:19.07
>>127
タブ区切りになってるのをどうコンマ区切りにするか少しイメージつかなかったんですが、line inputですね、少しやってみます
0129名無しさん@そうだ選挙にいこう2015/05/11(月) 11:55:02.29
Windows7Pro Excel2010です。

Excelで 「ファイル」 → 「添付ファイルとして送信」の際に
ブラウザを立ち上げてGmailで送信することは可能でしょうか?

mailtoリンクをWin高速化でGmailにしてもOutlookが立ち上がってしまいます。

webのmailtoリンクをクリックすればgmailが立ち上がるのですが…。

何か方法はありませんか?
0130名無しさん@そうだ選挙にいこう2015/05/11(月) 12:26:48.73
[マクロ]不可
[環境]スマホの疑似Excel

CONCATENATE関数で結合した文字列を、検索する方法はあるのでしょうか?
0131名無しさん@そうだ選挙にいこう2015/05/11(月) 12:28:10.92
ふつうにできるし
0132名無しさん@そうだ選挙にいこう2015/05/11(月) 18:48:24.21
>>129
多分無理じゃない?
>>130
検索するときに 値 を選択
0133名無しさん@そうだ選挙にいこう2015/05/11(月) 21:05:36.16
>>132
値検索ってなんのこっちゃ。
素直にテキスト化するかな、まあありがとう。
0134名無しさん@そうだ選挙にいこう2015/05/11(月) 21:09:49.80
>>133
http://www.dotup.org/uploda/www.dotup.org310101.png
0135名無しさん@そうだ選挙にいこう2015/05/11(月) 22:50:23.80
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可(必要ないと思われますが)


左から列A-E 上から行1(項目列)として
月日    項目       収入   支出    残金
5/1   前月繰越金                 10,000
5/1   会費         3,000         (=E2+C3-C4)
                               ↓オートフィル

って感じの帳簿を作ってて、
残金のところは、収入の所に金額が入ればプラス、支出の所に入ればマイナスとして
結果を残金に反映させるんですが
収入or支出に金額が入れば残金に入って、入ってない時は空欄にしたいんです。
IF関数だと思うんですがぐぐってもうまい例題が見つからなくて。
よろしくお願いします。
0136名無しさん@そうだ選挙にいこう2015/05/11(月) 22:57:35.50
>>135
条件付き書式で空欄の時は文字を白にする
0137名無しさん@そうだ選挙にいこう2015/05/11(月) 23:00:50.45
>>135
=IF(C3+D3>0,E$2+SUM(C$3:C3)-SUM(D$3:D3),"")
0138名無しさん@そうだ選挙にいこう2015/05/11(月) 23:27:10.73
>>137
ありがとうございます!まさにこれでした

>>136
なるほど、条件付き書式ですか
色々使いようがあるんですが思いつきませんでした
ありがとうございます
0139名無しさん@そうだ選挙にいこう2015/05/11(月) 23:38:44.11
マニュアル作りで1枚1枚キャプチャするのがめんどくさく、動画で作成して、必要ならその動画から静止画を取り出すってことをしておられる方いますか?PC負担かけずに動画ファイルも軽い、そんなデスクトップ動画キャプチャソフトありませんか?
0140名無しさん@そうだ選挙にいこう2015/05/11(月) 23:46:00.58
>>139
スレ違いだが、エクセルのマニュアルと思って回答するか
>PC負担かけずに動画ファイルも軽い
原理的にこれは無理。動画を軽くするのはPCにかなり負担をかける。

とりあえずその様子だと複雑なことが出来そうにないので
「アマレココ」と「つんでれんこ」を使え
amarecocoは超簡単キャプチャ。
つんでれんこは超簡単動画変換。
これで無理ならペイントで頑張れ。
0141名無しさん@そうだ選挙にいこう2015/05/12(火) 00:40:54.68
シートが15枚あるようなブックで切り替えるとき、マウスの割り当てボタンにpageup、pagedownをやってる。とても楽。
しかしマウスのない環境や割り当てキーができないマウスだとキーボードでショートカットしなきゃいけない
それがすごく不便に感じる…
0142名無しさん@そうだ選挙にいこう2015/05/12(火) 00:44:52.78
>>141
突っ込みどころが多すぎてどこから言おうかと思ったが、眠い
0143名無しさん@そうだ選挙にいこう2015/05/12(火) 00:50:11.05
>>142
突っ込んでくれ
15枚あるようなブックがそもそもおかしいって?
0144名無しさん@そうだ選挙にいこう2015/05/12(火) 00:54:13.99
そもそもマウス使うよりキーボード使うほうが楽とか、そういう話じゃね
0145名無しさん@そうだ選挙にいこう2015/05/12(火) 01:03:34.38
俺の使い方が下手くそなんだと思う
歪な成長をしているという自覚はある
0146名無しさん@そうだ選挙にいこう2015/05/12(火) 01:07:34.95
>>144
まぁ普通そうだわな
>>145
上限低いし応用効かないからデフォに慣れておいたほうがいいぞ
0147名無しさん@そうだ選挙にいこう2015/05/12(火) 01:09:22.36
>>146
デフォってのはどこで教えてくれるんだ?
そういった作法についてはほぼ独学なんだが
なるべくキーボードから手を離さないで済むように考えろということなのかね
0148名無しさん@そうだ選挙にいこう2015/05/12(火) 01:18:44.71
デフォ=既定の設定
設定を弄っていない環境を見れば分かる
0149名無しさん@そうだ選挙にいこう2015/05/12(火) 07:16:26.81
>>143
15枚ぐらいたいした数でもないような
20社相手にそれぞれ一シート使って売り上げ一覧とか作ってるし
串刺しで色々できるからシート分けた方が楽なんだよな
0150名無しさん@そうだ選挙にいこう2015/05/12(火) 08:53:03.69
経理項目ごとにシート作ってるから15くらい余裕であるんだが
0151名無しさん@そうだ選挙にいこう2015/05/12(火) 09:55:18.32
シートは3枚ってことか?A1形式R1C1形式を自由に切り替えるアドイン以外、インストールしたときから特に何もいじってないんだが
0152名無しさん@そうだ選挙にいこう2015/05/12(火) 11:40:10.71
並べて比較するとわかりやすい
http://koigakubo.seesaa.net/article/418349671.html
0153名無しさん@そうだ選挙にいこう2015/05/12(火) 12:04:43.59
>>147
やりやすいやり方でいいんじゃない?
操作する時間なんて大した違い無いよ
それよりvbaや文字コード、正規化の概念やバグをしっかり覚えておくほうが全体にかかる時間は短くなる
0154名無しさん@そうだ選挙にいこう2015/05/12(火) 17:17:58.79
台風の今後の動きは?
今回の台風はやばい!そのワケ!
https://rabitsystem.com/login/link.php?id=N0000046&;adwares=A0000001
0155名無しさん@そうだ選挙にいこう2015/05/12(火) 17:27:47.92
>>154
風俗のサイトじゃった…
0156名無しさん@そうだ選挙にいこう2015/05/12(火) 19:31:20.82
もう低気圧に変わったのにヤバいわけないじゃぴる
0157名無しさん@そうだ選挙にいこう2015/05/12(火) 21:34:09.21
>>154
中国人の相手もするのかよ。
たいへんだな。
0158名無しさん@そうだ選挙にいこう2015/05/12(火) 22:23:30.41
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

     項目1 項目2 項目3
名前1 あああ
名前1      いいい
名前1           ううう
名前2      えええ
名前2           おおお

↓
     項目1 項目2 項目3
名前1 あああ いいい  ううう
名前2      えええ  おおお
0159名無しさん@そうだ選挙にいこう2015/05/12(火) 22:48:49.14
仕方ない
0160名無しさん@そうだ選挙にいこう2015/05/12(火) 23:04:05.16
VBA以外は無理
0161名無しさん@そうだ選挙にいこう2015/05/13(水) 04:57:11.39
Ctrl+G、空白選択、削除、名前入力しなおし
0162名無しさん@そうだ選挙にいこう2015/05/13(水) 05:43:57.58
同じ列に持ってくるのはVBAじゃないと無理だな

違う列に同じような項目を作るのがOKで
作業列使っていいなら方法あるけど項目ごとに名前1、名前2のものが
それぞれ1個以下かつ、項目ごとに作業列を作っていいなら可能


名前列:A列
項目1〜項目3がB〜Dだとして、FGHをそれぞれの作業列にする

F2=SUMPRODUCT((1/COUNTIF($A$2:$A2,$A$2:$A2))*(B2<>""))
H列までと必要な行までオートフィル

J〜L列に結果抽出

J2=IFERROR(INDEX(B$2:INDEX(B:B,COUNTA($A:$A)),MATCH(SMALL(F$2:INDEX(F:F,COUNTA($A:$A)),ROW(A1)+COUNTIF(F$2:INDEX(F:F,COUNTA($A:$A)),0)),F$2:INDEX(F:F,COUNTA($A:$A)),0)),"")
L列までと名前の数の行分オートフィル

これで出来るはず
0163名無しさん@そうだ選挙にいこう2015/05/13(水) 06:10:25.45
orz

ついでに言うとJ2間違えてた

J2=IFERROR(INDEX(B$2:INDEX(B:B,COUNTA($A:$A)),MATCH(ROW(A1),F$2:INDEX(F:F,COUNTA($A:$A)),0)),"")
0164名無しさん@そうだ選挙にいこう2015/05/13(水) 08:40:51.13
>>162
こんなクソ長いものをセルに打つよりマクロの方が良いだろうに
質問者は意味も考えずそれをコピペして終わりでしょうvbaすら使えないんだし
0165名無しさん@そうだ選挙にいこう2015/05/13(水) 08:46:10.69
>>164
普通にVBAでユーザ定義関数作ればいいだけでしょ。
こういうメンテナンス性の悪い入れ子入れ子の数式組む奴は張っ倒したくなる。
0166名無しさん@そうだ選挙にいこう2015/05/13(水) 09:15:09.56
これをユーザー定義関数にするのか?
0167名無しさん@そうだ選挙にいこう2015/05/13(水) 09:35:43.11
使う状況によるな
0168名無しさん@そうだ選挙にいこう2015/05/13(水) 17:08:04.51
ピボットテーブルって、何ですか?
0169名無しさん@そうだ選挙にいこう2015/05/13(水) 17:24:51.29
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

既存Excelファイルを開くとブックが開かず白紙(灰色)の状態で開いてしまい殆どの操作が出来ません。
適当にググって該当しそうな
「オプション-詳細設定-DDEを使用する〜」
にチェックを入れたり
管理者権限で起動してみたりしたのですがどうにも治りません
どうすればいいでしょうか
0170名無しさん@そうだ選挙にいこう2015/05/13(水) 19:09:06.81
事故解決しました
コントロールパネルからExcelを選択し
オフィスの修復(オンライン修復)で治りました
クイック修復もありましたが試していません
0171名無しさん@そうだ選挙にいこう2015/05/13(水) 22:13:54.12
ビジネスsoft関係について語り合うならここがおすすめ。
よかったら、見てみて。
https://blngs.com
0172名無しさん@そうだ選挙にいこう2015/05/13(水) 22:16:37.31
XLSやXLSXで保存する際、zip等で圧縮かけると、
例えば、
D1=D$6+A1
D2=D$6+A2
D3=D$6+A3
D4=D$6+A4
D5=D$6+A5
D6=(C$1+10)-(B$1*5)
とするより、
D1=(C$1+10)-(B$1*5)+A1
D2=(C$1+10)-(B$1*5)+A2
D3=(C$1+10)-(B$1*5)+A3
D4=(C$1+10)-(B$1*5)+A4
D5=(C$1+10)-(B$1*5)+A5
とみっともなくベタ打ちして、D61個分でもセルが少ないほうが容量食わずに済むってのが
すごくもにょるんですが、なんとかならないもんでしょうか
0173名無しさん@そうだ選挙にいこう2015/05/13(水) 22:27:57.71
8ビット時代じゃあるまいし なんでいまどき容量なんか気にするの
0174名無しさん@そうだ選挙にいこう2015/05/13(水) 22:31:09.15
>>172
それホントか?
そもそもxlsxは最初からzip圧縮されてるし、再圧縮に何の意味があるのさ
0175名無しさん@そうだ選挙にいこう2015/05/13(水) 22:34:59.38
>>172
Execlの問題じゃなくてZIPの問題では?

言っていることがよく分からないけど、圧縮のアルゴリズムを少しは理解すれば、納得するんじゃない?
0176名無しさん@そうだ選挙にいこう2015/05/13(水) 22:45:05.23
類似パターンを符号化するのが圧縮の基本原理だから、共通部分が多いほど圧縮率が上がるのは当たり前
そんなことより読みやすさとかメンテしやすさを考えて数式を書くようにした方が幸せになれるぞ
数キロバイト節約したところで、どうせクラスタギャップで持ってかれるんだからまったく無意味
0177名無しさん@そうだ選挙にいこう2015/05/13(水) 22:49:33.19
確かめてみた

xlsxのファイルサイズ
前者=8939バイト
後者=8921バイト

うん、誤差だな
どうでもいい程の
0178名無しさん@そうだ選挙にいこう2015/05/14(木) 05:15:12.49
昔マルチプランで、
コピーした相対参照形式の数式はコピー先では「コピー元の数式と同じ」という情報で持ち
個々のセルには数式を記録しないとかあったけど。

サイズを小さくしたいのなら、フリガナ情報を消した方が効果が高そう。
0179名無しさん@そうだ選挙にいこう2015/05/14(木) 07:01:55.21
容量を少しでも減らせってうるさく言う上司はいるからね
作業列を使って200KBになるのと
作業列を使わずに198KBになるのなら
作業列使うなとかいうのは、何とかしてほしい
0180名無しさん@そうだ選挙にいこう2015/05/14(木) 07:20:39.60
ぶっちゃけ、メンテナンス性なんて管理する側には関係ないからな
使えて見映えがよければ問題ない

容量が減らせるならそれに越したことはないし
0181名無しさん@そうだ選挙にいこう2015/05/14(木) 13:53:15.76
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否 (googleスプレッドシートへインポートする予定のため)
http://www.dotup.org/uploda/www.dotup.org314168.xlsx.html
質問に対してリストから解答を選択させ、選択させた文字列を検索して対応した数値を出力したいと考えています
=VLOOKUP(解答,$別シートの解答一覧と数値$,$数値の列$,FALSE)
と入力したところ、一番上のものは意図通りに動いたのですが、2つ目以降が#REFになってしまいます
どうすれば解決するでしょうか
0182名無しさん@そうだ選挙にいこう2015/05/14(木) 21:28:54.73
解決しました
3項目を$B$2にすることで解決しました
0183名無しさん@そうだ選挙にいこう2015/05/15(金) 22:01:25.73
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
Ctrlキー+ O で「ファイルを開く」ダイアログを表示させると、
ファイル名のリストボックスに過去に開いたファイル名の履歴が残っていますが、
これを個別選択して削除する方法はありますか?
「ファイル」メニューの「最近使用したブック」ではなく、上記のリストボックス内の履歴です。
VBAでも結構です。
0184名無しさん@そうだ選挙にいこう2015/05/15(金) 23:15:01.62
183です。自己解決。この方法で削除できました。
okwave.jp/qa/q5563436.html
0185名無しさん@そうだ選挙にいこう2015/05/16(土) 18:55:58.76
【1 OSの種類         .】 Windows8.1Pro
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい(今日使い始めたとこですが・・・)
【4 VBAでの回答の可否】 可

D:\Book1.xlsxのSheet1のセルA1に「あ」と入力して保存して閉じて
D:\Book2.xlsmで

Sub GetData()
  Dim S As String
  S = ExecuteExcel4Macro("'D:\[Book1.xlsx]Sheet1'!R1C1")
  MsgBox S
End Sub

と、マクロを書いて「Sub/ユーザーフォームの実行 F5」ボタンをクリックすると
メッセージボックスに「あ」と表示されます。
次に

Function GetData()
  Dim S As String
  S = ExecuteExcel4Macro("'D:\[Book1.xlsx]Sheet1'!R1C1")
  GetData = S
End Function

のように書き直して、適当なセルに「=GetData()」と入力すれば
そのセルに「あ」と表示されると思っていましたが、
実際はそうならずに「#VALUE!」と表示されます。

セルにD:\Book1.xlsxから読み取った「あ」を表示させたいのですが
何が間違っているのでしょうか。
0186名無しさん@そうだ選挙にいこう2015/05/16(土) 21:05:32.13
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

複数シート、あるいはブック全体のシートから、
特定の位置にあるセルの内容を自動的に下か右に出力して表にする方法は無いでしょうか
リスト化したいセルは文字列のセルと数値のセルがあります
複数の編集者が利用し、新しいシートが作成・コピーされた際に自動的に特定セルを表に加えたいのです

例:
集計シートA列 田中 斉藤
集計シートB列 10点 8点
回答Aシート特定セル1 田中
回答Aシート特定セル2 10
回答Bシート特定セル1 斉藤
回答Bシート特定セル2 8
ここに回答Cシートを追加して特定セル1に加藤、特定セル2に5と入力されたとき、
集計シートのA列に加藤、B列に5が追加されるようにしたいのです

どなたか教えてください
0187名無しさん@そうだ選挙にいこう2015/05/16(土) 22:45:01.94
>>186
VBAじゃなきゃ無理
0188名無しさん@そうだ選挙にいこう2015/05/16(土) 23:41:59.36
同じモジュールの中でマクロが二つあるとして、マクロ1で格納した配列をマクロ2でそのまま使う方法ってないですかね
また同じように格納しなければならないのでしょうか

sub macro1
a()=〜
end sub

sub macro2
end sub
0189名無しさん@そうだ選挙にいこう2015/05/17(日) 00:16:33.40
>>185
多分だけど相性が悪い。
http://okwave.jp/qa/q4255076.html
マクロ4.0を読み込むのはやめといたほうがいいと思う。もう20年以上前の手法で、そのうち使えなくなるかもしれない。あと読むのめんどくさい。

別ブックの内容は一度開くなりして別の方法で読み込んだほうがいいと思う
>>188
グローバル変数にするか、引数で渡す
ちょっとかっこ悪いけど、stringやlongならセルに書き込んでも問題はない。
結構重くなるけど適切に対処すれば十分実用的。
0190名無しさん@そうだ選挙にいこう2015/05/17(日) 00:43:50.03
>>189
ありがとうございます

まだ配列をよくわかってないんですが、配列はvariant型で定義しないといけないのではないですか?

配列に格納するものは全てlong型で良いデータなんですが、その場合はdim a() as longや、Redim a() as longとやればいいんでしょうか。
もう一つ聞くと、long型とvariant型で何が変わるものなのでしょうか。(vbaの早さ?書き出して保存したときなブックの容量?)
0191名無しさん@そうだ選挙にいこう2015/05/17(日) 10:23:04.10
>>187
作業列使って良いならやりようはあるぞ
ただまあ、VBA使ったほうがよほど他の人が確認しやすいし
処理も軽い事実は認める
0192名無しさん@そうだ選挙にいこう2015/05/17(日) 16:36:43.26
>>191
また冗談を
0193名無しさん@そうだ選挙にいこう2015/05/17(日) 18:30:24.91
特定セルに法則があればindierect()で楽勝
ただ特定セルの位置に規則性がなければvbaじゃないとほぼ無理
0194名無しさん@そうだ選挙にいこう2015/05/17(日) 18:53:40.10
>>190
別に定義しなくてもいいけどな。
配列は必ずvariant型。longの配列もintの配列もvariant型。
>dim a() as longや、Redim a() as longとやればいいんでしょうか。
そう。
>もう一つ聞くと、long型とvariant型で何が変わるものなのでしょうか。
メモリの確保量が大きく、処理も遅い。
で、個人的に言いたいことは全て↓に書いてあった。
http://officetanaka.net/excel/vba/variable/03.htm

サンプル↓

Dim Z
Sub a()
b = Array(1, 2, 3) '関数cに渡すパターン
Z = Array(4, 5, 6) 'グローバル変数を使うパターン
x = Array(7, 8, 9) 'ローカル変数でエラーが出る見本
Call c(b)
End Sub

Sub c(e)
MsgBox (e(0))
MsgBox (Z(0))
'dim Zみたいにグローバル宣言しないとエラーになる
'MsgBox (x(0))
End Sub
0195名無しさん@そうだ選挙にいこう2015/05/17(日) 21:29:17.64
>>193
今後追加されるSheetの名前が判らないじゃん
0196名無しさん@そうだ選挙にいこう2015/05/17(日) 23:26:25.78
>>195

マジで言っているの?
大丈夫か?
0197名無しさん@そうだ選挙にいこう2015/05/18(月) 00:35:29.71
>>194
ありがとうございます
メモリは16GBでいつも余っているので、あまり気にせずvariantにしておこうかと思います
0198名無しさん@そうだ選挙にいこう2015/05/18(月) 01:08:15.63
>>197
型をきちんと指定するのはメモリとかの問題よりも何が入ってるか明示する為の方が大きいと思う

何でも入ると意図しない結果を返しても原因がわかりにくくなる

型が違えばエラーになるから気がつける事が増えると思う
0199名無しさん@そうだ選挙にいこう2015/05/18(月) 01:15:50.24
vbaの型を信用するのはやめておいたほうがいいと思う
これ、エラー出ないんだぜ…

Sub a()
Dim b As String
Dim c As String
b = "1"
c = 3 + b + "2"
MsgBox c
End Sub
02001862015/05/18(月) 01:47:33.94
返答ありがとうございます
>>191,193,196
どのようにすれば良いか教えていただいても良いでしょうか
googleスプレッドシートでの共有も視野に入っているためマクロは使えないのです
0201名無しさん@そうだ選挙にいこう2015/05/18(月) 01:48:16.94
>>199
それはちゃんとした法則があるんだから
結果が想定外になるってのは、ようするに自動キャストの仕様を理解せずになんとなく使ってるだけ

よく引用される明言
「プログラムは思った通りには動かない。書いた通りに動くだけだ。」
0202名無しさん@そうだ選挙にいこう2015/05/18(月) 06:46:50.22
セルにいったん数式入力して結果出たらそれ数値にして保存したいんですが
どうすればいいんでしょ

つまり
A1が100、A2が100、A3に +A1+A2 で200となっているとすると
A3の内容を「+A1+A2」 から単なる数値の「200」にしたいのですが
今いったんメモにコピーして貼りなおしてますが面倒臭い
0203名無しさん@そうだ選挙にいこう2015/05/18(月) 06:49:05.03
>>200
口だけだからムリ
0204名無しさん@そうだ選挙にいこう2015/05/18(月) 06:51:07.75
>>202
ワークシート全体を「値の貼り付け」
コピペで「123」と書いてあるアイコンをクリック
0205名無しさん@そうだ選挙にいこう2015/05/18(月) 06:53:13.64
>>202
コピー → 形式を選択して貼り付け → 値
0206名無しさん@そうだ選挙にいこう2015/05/18(月) 07:07:29.94
>>205をマクロの記録で保存して、やりたくなったら実行するのが一番楽かな
02072022015/05/18(月) 07:46:39.56
なるほど

ありがとうございますた
0208名無しさん@そうだ選挙にいこう2015/05/18(月) 08:11:06.15
>>200
実際のファイル見ないと要素が不定すぎて何とも
もちろん中はサンプルに置き換えて下さい
0209名無しさん@そうだ選挙にいこう2015/05/18(月) 10:18:12.68
>>195
CELL 関数はあてに出来んからな
0210名無しさん@そうだ選挙にいこう2015/05/18(月) 10:40:57.68
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

よろしくお願いします。
http://www.724685.com/weekly/qa080312.htm
このページの要領で、
=TEXT(A1,"aaa")を書けば、土だの火が表示されます。
そこで、教えて欲しいのは、
1、=TEXT(A1,"aaa")を書いて、土だの火を表示させる
2、その後、=TEXT(A1,"aaa")を消しても、土だの火を表示させ続ける
には、どうすればいいでしょうか?
0211名無しさん@そうだ選挙にいこう2015/05/18(月) 11:23:42.96
>>210
値の貼り付け
0212名無しさん@そうだ選挙にいこう2015/05/18(月) 11:25:02.66
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 可

特定値に近似する、ある数値の組合せを求めたいのですが可能でしょうか?

式としては
x>煤‖A+bB+cC+dD+eE
A-Eが固定の任意の値
a-eがそれぞれの個数0-5
全値の和がxに近似(但しx未満)となるようにしたいです。
個数上限を都度、各々決められると助かります。

VBAでも頑張りますのでよろしくお願いします。
0213名無しさん@そうだ選挙にいこう2015/05/18(月) 11:34:51.63
>>212
ソルバー
0214名無しさん@そうだ選挙にいこう2015/05/18(月) 11:37:08.30
>>211
ありがとうございます。
0215名無しさん@そうだ選挙にいこう2015/05/18(月) 12:17:39.45
>>213
ありがとうございます。
助かりました。
0216名無しさん@そうだ選挙にいこう2015/05/18(月) 13:18:24.06
質問です
セルに関数を入れて範囲を指定する時に、行、列、行列のいずれかを「$」指定する方法ってありますか?
式の文字を直接編集で「$」を入力するしかないのでしょうか。
0217名無しさん@そうだ選挙にいこう2015/05/18(月) 17:46:39.50
ショートカットとか、置換
0218名無しさん@そうだ選挙にいこう2015/05/18(月) 18:00:00.46
>>217
ショートカットは痴漢なの?
0219名無しさん@そうだ選挙にいこう2015/05/18(月) 18:09:15.71
>>216
F4
0220名無しさん@そうだ選挙にいこう2015/05/18(月) 18:37:12.43
>>195
シートの名前変えようがデフォのシート名で参照できるのをもしかして知らない?
0221名無しさん@そうだ選挙にいこう2015/05/18(月) 19:07:03.87
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A1は2014、B1は年、C1は7月11日、です。
D1に、=A1&B1&C1と書き、2014年7月11日、と表示させたいのですが、2014年42203となってしまいます。
どうすればいいでしょうか?
0222名無しさん@そうだ選挙にいこう2015/05/18(月) 19:34:24.49
>>221
作業列として
F1=TEXT(C1,"m月d日")
D1=TEXT(DATE(A1,MID(F1,1,FIND("月",F1)-1),MID(F1,FIND("月",F1)+1,FIND("日",F1)-FIND("月",F1)-1)),"YYYY年m月d日")

B1の使いどころが思いつかなかったスマソ
0223名無しさん@そうだ選挙にいこう2015/05/18(月) 19:47:53.15
>>220
VBAは否だから
0224名無しさん@そうだ選挙にいこう2015/05/18(月) 19:51:27.92
>>222
おお、出来ました。ありがとうございます。感謝します。
0225名無しさん@そうだ選挙にいこう2015/05/18(月) 19:56:18.93
>>220
デフォのシート名w
不変だと思ってるの?
02262222015/05/18(月) 19:58:16.13
今頃になってから気づいたが
D1=A1&B1&F1
で普通に問題ないなw
0227名無しさん@そうだ選挙にいこう2015/05/18(月) 20:23:02.22
>>220
横からスマン。知らないので教えてほしい
=sheet1!A1
が
=sheet(1)!A1
みたいに指定できるってこと?
0228名無しさん@そうだ選挙にいこう2015/05/18(月) 20:27:47.30
>>222
こういうのでよくねか
=DATE(A2,MONTH(DATE(A2,MONTH(C2),DAY(C2))),DAY(DATE(A2,MONTH(C2),DAY(C2))))
一旦string経由するとめんどくさい
0229名無しさん@そうだ選挙にいこう2015/05/18(月) 20:37:24.46
>>221
D1=A1&TEXT(C1,"年m月d日")
0230名無しさん@そうだ選挙にいこう2015/05/18(月) 20:40:56.67
1列目を横軸に、2列目を縦軸にしたグラフを書く
次は3列目を横軸、4列目を縦軸にしたグラフ…300列程度まで同じことをして比較したいのですが、マクロでグラフの範囲を自動で指定してかけますか?
0231名無しさん@そうだ選挙にいこう2015/05/18(月) 20:53:58.02
>>229
それうるう日で厄介なことになる
0232名無しさん@そうだ選挙にいこう2015/05/18(月) 20:55:20.70
>>230
多分yes.
比較ってのが微妙なニュアンスでよくわからない。並べたいって意味なら可能

「マクロの記録」で検索して頑張ってみて
もしダメだったらまたおいで
0233名無しさん@そうだ選挙にいこう2015/05/18(月) 20:57:02.13
>>232
手でやるならグラフクリック→コピペ→データの範囲を直接、指定したいところにドラッグなんです
0234名無しさん@そうだ選挙にいこう2015/05/18(月) 21:14:14.50
>>233
「指定したい所」がどう指定したいのか分からん。
規則性があれば全自動が実現できる。
規則性がなければ半分ぐらい自動かなぁ。

とりあえずマクロの記録でグラフを作ってみて
0235名無しさん@そうだ選挙にいこう2015/05/18(月) 22:22:01.69
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

F1に、2014年07月11日(金)と書きました、fxにも2014年07月11日(金)と表示されます。
この、F1のデータから、G1に、2014年07月と表示させようと思い、=TEXT(F1,"yyyy年mm月")
と書いてみましたが、
2014年07月11日(金)と表示されてしまいます。

2014年07月11日(金)のデータから、2014年07月と表示させるにはどうすればいいでしょうか?
0236名無しさん@そうだ選挙にいこう2015/05/18(月) 22:29:06.34
>>235
G1=LEFT(F1,8)
02372352015/05/18(月) 23:08:11.32
>>236
ありがとうございます。
では、
2014年07月11日(金)から、07月11日を表示させるにはどうやりますか?

つか、
Excelに、7/11と書くと、勝手に日にちデータと解釈して、Excelは勝手に2015年7月11日と書いてくれるじゃないですか。
なら、
2014年07月11日(金)を書いた場合、Excelはこれは日にちデータとは解釈してくれないのですかね?
0238名無しさん@そうだ選挙にいこう2015/05/18(月) 23:19:30.78
>>237
そういう時は曜日を自分で入力しない
書式を
yyyy"年"mm"月"dd"日("aaa")"
にすれば日付を入れるだけで曜日まで自動的に出るようになって、その中の一部を取り出す手順ももっと簡単になる
02392352015/05/18(月) 23:20:43.61
つか、わかりました。
2014年07月11日だと日にちデータと認識してもらえました。
Excel的には(金)がややこしいんですね。
おさがわせしました。
0240名無しさん@そうだ選挙にいこう2015/05/18(月) 23:21:13.16
>>235は>>221?
多分、シリアル値を覚えたほうが早いかも…

例えば、D1に
41831
を入力して、書式設定を日付にすると2014/7/11になる。それがシリアル値。
多分エクセルはシリアル値のほうが良い
02412352015/05/18(月) 23:21:23.41
>>238
どうもでした。
02422352015/05/18(月) 23:23:34.10
>>240
どうもでした。

つか、実は、
Excelでデータをそろえて、最終的にはACCESSにデータをもって行きたいのですが、
その場合、日にちデータはどんな形がベストでしょうか?
02432352015/05/18(月) 23:26:35.22
何でACCESSかといえば、
入力フォームがACCESSの方がいいような気がしたから、
ACCESSにしたまでで、テーブルは1つしか使わないんですよねw
0244名無しさん@そうだ選挙にいこう2015/05/18(月) 23:32:15.81
>>242
データベース内では日付はシリアル値にしておいて、書式はデータを使う時に決める
0245名無しさん@そうだ選挙にいこう2015/05/18(月) 23:35:01.26
>>242
エクセルはシリアル値以外の日付データは曖昧。
ACCESSで認識できる日付データを勉強して、それに合わせてエクセルから出力するといいと思う。
ACCESで認識できる日付データは知らん。
02462352015/05/19(火) 00:02:48.65
>>244-245
ありがとうございました。
0247名無しさん@そうだ選挙にいこう2015/05/19(火) 02:06:00.48
ブックオープン、コピペ、結果をコピペ、ブッククローズをマクロでfor nextで回してやるとだんだん処理が重くなっていくのって何が原因なんでしょうか
気になっていることを箇条書きすると下です

variant型変数の多さ
activateなど、Excelが絡むような処理の多さ
ループ処理する際、doeventsをつかうべきなのか
ブックを開くマクロと開いたブックをコピペするマクロを分けて作ることで、1ループごとに変数が解放されるので処理が重くならなくなる、というようなことはありますか?
0248名無しさん@そうだ選挙にいこう2015/05/19(火) 02:21:21.55
>>247
例えばa1:b2をc3:d4に値だけコピーする際は
Range("c3:d4").Value = Range("a1:b2").Value
みたいにする

コピーはなるべく使わない。
variant型変数はどうでもいい。
activateなど、Excelが絡むような処理の多さ→excelは常に絡むが、ま言いたいことは分かる。無駄にselectやactivateはしない。
ループ処理する際、doeventsをつかうべきなのか→当然使わない方がいいが、
処理を見たいならループ10回毎に一回doeventやればいいと思う。100回二一回でもいい
>ブックを開くマクロと開いたブックをコピペするマクロを分けて作ることで、1ループごとに変数が解放されるので処理が重くならなくなる、というようなことはありますか?
知らんけど、エクセルを常に開いてるなら同じ、というか逆効果だと思う。一つのブックにまとめた方がいい。OS側でものすごいデリゲート働いてるなら知らん。
0249名無しさん@そうだ選挙にいこう2015/05/19(火) 07:17:18.80
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

12月29日は佳子さまの誕生日。では、その日は何曜日?
そんな関数を考えてみました。

A1に12月29日と書きます。これは絶対です。
B1に=1994&TEXT(A1,"年m月d日")
C1に=TEXT(B1,"m月d日 (aaa)")
で、
C1に12月29日 (木)と表示されます。
しかし、B1、C1とセルを2つ使っているのでエレガントとはいえません。
佳子さまにお見せするのはちょっと恥ずかしいです。
この2つを1つにまとめる書き方は出来ないでしょうか?
0250名無しさん@そうだ選挙にいこう2015/05/19(火) 07:57:20.57
>>249
書式
0251名無しさん@そうだ選挙にいこう2015/05/19(火) 09:08:05.30
C1に=TEXT(B1994&TEXT(A1,"年m月d日"),"m月d日 (aaa)")
0252名無しさん@そうだ選挙にいこう2015/05/19(火) 09:24:32.88
>>249
A1に入力 1994/12/29
A1の書式 m"月"d"日"
B1の数式 =A1
B1の書式 yyyy"年"m"月"d"日"
C1の数式 =A1
C1の書式 m"月"d"日("aaa")"

セルをいくつ使うかはお好みでどうぞ
0253名無しさん@そうだ選挙にいこう2015/05/19(火) 09:56:41.00
VBAの本買おうかどうか迷ってるのだが
出来合いの関数組み合わせて使いこなせて、マクロ使えれば
VBAってわざわざ覚える必要あるのかどうか
労力に比較してどんな見返りがあるのか、いまいちよくわからない
わざわざVBA覚えると、何ができるようになるのですか?
0254名無しさん@そうだ選挙にいこう2015/05/19(火) 10:24:05.96
>>253
一言で言うと、事務系の日常業務をほぼ全て自動化できる
時間があるなら絶対に覚えた方がいい(マクロの記録をちょっと改変できるレベルでもいい)

他には
関数の制限に縛られない(ifネストの7段階など)
エクセルからファイルの作成・削除・変更、移動やコピーを扱えるようになる
0255名無しさん@そうだ選挙にいこう2015/05/19(火) 10:54:10.46
>>253
マイナスイメージ持ってるなら止めた方がいい
どうせ身につかないし

逆に今の作業を自動集計やら作成する具体的なイメージが湧くなら
ぜひVBAを勉強すべきだと思う
0256名無しさん@そうだ選挙にいこう2015/05/19(火) 12:30:07.51
Windows7、Excel2013
ブックを開くと、ウィンドウ一番下のバーが表示されない場合があります。必ずではなくたまに発生します。
本来「マクロの記録」「標準」「ページレイアウト」「改ページプレビュー」「ズームバー」がある場所です。
表示されていない部分をダブルクリックするとExcelが強制的に再起動して、一番下のバーがちゃんと表示されます。
OSの「プログラムと機能」でOfficeの修復を行っても改善されません。原因と対処法がわかるかたご意見ください。
0257名無しさん@そうだ選挙にいこう2015/05/19(火) 14:27:39.52
>>251
ありがとうございます。
>>252
君は何がいいたいのかわからん〜
0258名無しさん@そうだ選挙にいこう2015/05/19(火) 14:48:11.86
>>257
>>252 その通りやってみな
0259名無しさん@そうだ選挙にいこう2015/05/19(火) 15:19:08.66
今日、エクセルファイルのとあるセルに、7月14日と書き込むと、fxの欄に2015/7/14と表示されます。
この状態でファイルを保存します。
そのファイルを来年に開くと、
fxの欄は
2015/7/14と表示されるのか?
2016/7/14と表示されるのか?
どっちでしょうか?
0260名無しさん@そうだ選挙にいこう2015/05/19(火) 15:30:50.62
何でこんなことにこだわるかといいうと、レコードを、年を無視して月日だけでソートしたいから、なんですよね。
0261名無しさん@そうだ選挙にいこう2015/05/19(火) 16:17:05.96
ぜんしゃ
0262名無しさん@そうだ選挙にいこう2015/05/19(火) 16:29:49.73
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
x=条件% n=試行回数 で、1-((1-x)^n)の試行回数毎の成功率を求めたいと思っています。
A列に試行回数、B1に条件%とし「=1-((1-$B$1)^A1)」でドラッグすれば求められます。

問題はこの先です。成功率が一定の閾値を超える値
例えば50%を超えるのは○回目、などを求めたいのですが
上記の方法だと作業列で判定する必要が生まれ
値によっては数百行の作業スペースが必要になってしまいます。
一つ、ないし数個の式の少ない作業スペースで処理する計算方法はないでしょうか?
よろしくお願いします。
0263名無しさん@そうだ選挙にいこう2015/05/19(火) 17:18:43.69
>>262ですが自己解決しました
CRITBINOM関数を使えば良さそうですね
方法以前に関数で用意されてるとは…
スレ汚し失礼しました
0264名無しさん@そうだ選挙にいこう2015/05/19(火) 22:53:52.03
【1 OSの種類         .】 Windows vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

VBAのコード編集画面で、マウスポインタをコードの文字間に置くと、
文字が選択・反転した状態となり、追加入力すると選択・反転した文字が消えてしまいます。
以前はこんな事が無く、編集したい文字間にポインタを置き文字反転もなく
普通に追加入力できました。
なぜこんな事になるのか?どうすれば解決するのか?
教えて下さい。よろしくお願いします。
0265名無しさん@そうだ選挙にいこう2015/05/19(火) 23:04:55.52
>>264
マウスの故障
0266名無しさん@そうだ選挙にいこう2015/05/19(火) 23:20:33.45
>>264
まさか、INSERTキーが押されているオチちじゃないよね?
0267名無しさん@そうだ選挙にいこう2015/05/19(火) 23:54:20.34
>>264
>>266の通り、insert状態だろうね・・・
insertキーがどっかにあるから押してみて。ノートならfnキーかなんかと一緒に押すはず
違ってれば一旦キーボード・マウスの抜き差しを試してみて
0268名無しさん@そうだ選挙にいこう2015/05/20(水) 00:17:07.27
>265
>266
>267
レスありがとうざいます。insertでした。ありがとうございます。
0269名無しさん@そうだ選挙にいこう2015/05/20(水) 00:18:45.53
Excelで割り当てキーボードショートカットって出来る?例えばctrl+num1に割り当てとか
0270名無しさん@そうだ選挙にいこう2015/05/20(水) 00:20:32.33
>>269
できる
やり方は
エクセル ショートカット 割り当て
でぐぐれ
0271名無しさん@そうだ選挙にいこう2015/05/20(水) 00:39:50.45
>>270
なるほど
しかし何を割り当てようかさっぱり思いつかないことに気づいた
0272名無しさん@そうだ選挙にいこう2015/05/20(水) 05:55:44.52
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

種類を関数の数式で出そうとすると

=SUMPRODUCT(1/COUNTIF(範囲指定),(範囲指定))
で出来ると思うんですが、
特定の条件のごとに何種類かを求める場合はどうすればいいんでしょうか
単純に掛け算しても整数にならないかエラーになってしまいますもので
恐らく1/0=∞になってしまうからだとは思うんですが回避方法ないですか?
02732722015/05/20(水) 06:15:24.31
一応、特定条件ごとに作業列使うなら

=(COUNTIF(A$2:A2,A2)=1)*(B2=特定条件)
をオートフィルして、その数字をSUMで足せばできるので
SUMPRODUCTで出来そうにも思うんですが、実際のところ可能なんでしょうか
0274名無しさん@そうだ選挙にいこう2015/05/21(木) 01:13:48.33
>>272-273
貴方の言ってる事が俺には理解できなかったから回答できなかったんだけど、
誰かが答えるだろうと思ってみてたら結局誰も答えてないって事は、
俺だけじゃなくみんな揃って貴方が何を聞いてるのか理解出来ないんだと思う。
0275名無しさん@そうだ選挙にいこう2015/05/21(木) 03:16:04.17
>>273
試してないが、その式をsumしてctrl+shift+enterじゃダメか?
0276名無しさん@そうだ選挙にいこう2015/05/21(木) 06:23:41.09
>>275
それでだめだったのでやる方法ないかの質問です
0277ひよこ名無しさん2015/05/21(木) 08:37:18.81
>>272-273
A1:A30には0〜9の任意数値が、B1:B30にはランダムに「○」が入力してあるものとする。

同行B列に○があるA列数値の種類を数えるならこんな感じ。
C1:=IF(B1="○",A1,"") [C30までオートフィル]
=SUMPRODUCT(1/COUNTIF(C1:C30,C1:C30)*(C1:C30<>""))
または
=SUMPRODUCT(1/COUNTIF(C1:C30,C1:C30))-1

下記の式なら作業列は不要
=SUMPRODUCT((B1:B30="○")*(MATCH(A1:A30&B1:B30,A1:A30&B1:B30,0)=ROW(1:30)))
0278名無しさん@そうだ選挙にいこう2015/05/22(金) 05:56:30.91
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

空白セルのIF関数についての質問なんですが

5 3 8  ← C1=A1+B1
4 □ 4
□ 7 7
□ □ □  □は空白セル

このようにA列、B列ともに空白の時のみ計算結果(C列)が空白となるIF関数を教えてください。
0279名無しさん@そうだ選挙にいこう2015/05/22(金) 06:14:10.69
>>278
C1=IF((A1="")*(B1=""),"",A1+B1)
で下方向にオートフィルでできないか?
0280名無しさん@そうだ選挙にいこう2015/05/22(金) 06:56:38.81
=IF(A1&B1=""
0281名無しさん@そうだ選挙にいこう2015/05/22(金) 12:17:11.06
>>278
IF関数をネストして
=IF(A1="",IF(A2="","",A1+B1),A1+B1)

IFとANDで
=IF(AND(A1="",A2=""),"",A1+B1)
0282名無しさん@そうだ選挙にいこう2015/05/22(金) 15:35:06.39
>>279-281
どうもありがとうございました
02831862015/05/22(金) 17:04:27.32
>>208
反応遅れてすみません
http://fast-uploader.com/file/6987837316448/
こちらがサンプルブックになります
02841932015/05/22(金) 17:43:51.85
>>283
indirect()で楽勝、やっぱ当たってたぜ。
http://www.dotup.org/uploda/www.dotup.org328073.xlsx.html

使い方はO列にシート入れるだけな
0285名無しさん@そうだ選挙にいこう2015/05/22(金) 20:48:38.51
Excel2003で質問です。
E~M列の、25,31,37,43,50,56,62,68,74行目全てに処理を作りたいのですが、入力も上記の番地に行う為数式では対応出来ません。
処理は、例えばG25に"s"と入力 したらF25に"◯"を表示みたいな感じです。
もう一つ条件がありまして、上記の各行の1行下にそれぞれ数式で値が表示されている列と、空白の列があります。
なのでG26に値があり、F26が空白でE26に値があるとします。
その時にG25に"s"を入力したら、E25に"◯"、F25は空白のまま、という処理です。

数式を入れると、"s"の入力が出来なくなってしまい困っています。

VBAでの処理になると思いますが、VBAは初心者なので詳しく教えて頂けると助かります。

上記の各行で、同じ処理を行いたいです。
0286名無しさん@そうだ選挙にいこう2015/05/22(金) 22:06:09.45
>>285
エクセルの使い方を間違えてるとしか言えない
数式の結果でsが返るようにするか、別の場所にsと打った場合に数式の結果がsとなるようにするべき
間違いなくシートを作り直した方がいい。
シートをどういうふうに作ればいいかは教えてあげれる
0287名無しさん@そうだ選挙にいこう2015/05/22(金) 22:44:24.64
なぜ43→50だけ7増えてるんだろう
0288名無しさん@そうだ選挙にいこう2015/05/22(金) 22:46:26.33
>>285
そもそも、Office 2003はすべてのサポートが去年で終了しているわけだが。
それに、本当に初心者だったら、そんな古いバージョンは使わない。
というか売ってない。少なくとも2003年から10年以上使っている人が初心者と名乗るのは矛盾している。
02891862015/05/22(金) 22:53:21.26
>>284
やはり全自動化は無理ですよね・・・
とは言えこれだけ簡略化された作業であれば入力者にやらせても問題なさそうです
解決策の提示ありがとうございました!
0290名無しさん@そうだ選挙にいこう2015/05/23(土) 08:01:19.05
>>279-291
それだと、A列とB列のどちらかが空白セルでどちらかが0以外の数字だとエラーになるなw

面倒だけど
C1=IF(A1&B1="","",IF(A1="",0,A1)+IF(B1="",0,B1))
みたいな処理しないといけない
0291名無しさん@そうだ選挙にいこう2015/05/23(土) 09:45:34.55
>>290
えっ?
空セル+数字の足し算はちゃんと数字になるけど?
0292名無しさん2015/05/23(土) 14:01:37.65
>>288
285の終わりから2行目には「 VBAは初心者 」とあるよ。
excelを20年使っていても 、VBAできない人の方が圧倒的に多いよね。
確かにあと2ヶ月後に発売のexcel 2016にバージョンアップした方がいいかも。
俺もVBAは若葉マークだから回答してやることはできないが。
0293名無しさん@そうだ選挙にいこう2015/05/23(土) 15:44:53.98
>>291
釣られるな!
0294名無しさん@そうだ選挙にいこう2015/05/23(土) 15:54:24.56
>>292
初心者がVBAの勉強するのに古い2003入ってるPC貰ったとも考えられるよな
VBAなんて98でも大差ないから
0295名無しさん@そうだ選挙にいこう2015/05/23(土) 17:15:53.27
>>291
純粋な空白セルならね
見た目が空白でもスペースが入っていたり計算結果が空白だとエラーになる

計算結果の場合は0にすればなんの問題も起きないが値が0の場合は
空白表記にしなきゃいけない場合もあるからね
0296名無しさん@そうだ選挙にいこう2015/05/24(日) 00:55:01.96
>>288
2003,日本橋行けば中古で2000円ぐらいで山積みされてるよ
>>294
98どころか2010でも進歩してない
そして、其れがいい。過去の遺産が全て使える
0297名無しさん@そうだ選挙にいこう2015/05/24(日) 01:42:25.65
遺産て、誰か死んだのか

過去の資産と言いたいのなら、修正しないと動かない物も多い
0298名無しさん@そうだ選挙にいこう2015/05/24(日) 02:01:16.12
>>296
日本橋にバッタ屋みたいな見せ合ったっけ?
高級百貨店で売ってるとでも言うのか?
0299名無しさん@そうだ選挙にいこう2015/05/24(日) 02:35:48.62
にっぽんばしの方
0300名無しさん@そうだ選挙にいこう2015/05/24(日) 02:37:03.12
>>298
大阪日本橋のでんでんタウンのほうでしょ
0301名無しさん@そうだ選挙にいこう2015/05/24(日) 02:40:11.87
東京→にほんばし
大阪→にっぽんばし、ここにアキバみたいな電気街があって古いソフトも売ってる
0302名無しさん@そうだ選挙にいこう2015/05/24(日) 15:20:23.29
EXCELでなく恐縮ですが キングソフト スピリットシート2013で
PC画面下端しか出さなくなりました
またUSBメモリーを抜こうとすると「このデバイスは
使用中です」のエラーが


 弱り果てました
0303名無しさん@そうだ選挙にいこう2015/05/24(日) 15:35:03.74
>>302
そのゴミは勉強代と思って捨てた方がいい
取り返しの付かないことになる前に
0304名無しさん@そうだ選挙にいこう2015/05/24(日) 15:52:05.02
別のUSB使用してもデスクットップ上のデータ使おうとしても
結果が同じなんです
0305名無しさん@そうだ選挙にいこう2015/05/24(日) 15:59:27.88
キングソフトに問い合わせれば?
それかヤフー知恵袋でも行ってくればいいと思う
0306名無しさん@そうだ選挙にいこう2015/05/24(日) 16:18:57.63
【1 OSの種類         .】 Windows8
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

コピー貼り付けの際に、形式を選択して貼り付けというのがありますが、
ただの「貼り付け」と「元の書式を保持」して貼り付けはどう違うのでしょうか?
ただの「貼り付け」でもコピー元の書式を保持して貼り付けられてると思うのですが…
0307名無しさん@そうだ選挙にいこう2015/05/24(日) 16:22:35.97
>>306
>【3 VBAが使えるか    .】 はい
マクロ記録しコード見れば判る
0308名無しさん@そうだ選挙にいこう2015/05/24(日) 16:47:42.10
>>307
分からないから聞いてるんですが
「元の書式を保持」する貼り付けはVBAでは使ったことないし…
0309名無しさん@そうだ選挙にいこう2015/05/24(日) 17:00:52.97
>>308
>【3 VBAが使えるか    .】 はい
マクロ記録も出来ないのかw
見え張るなよ
0310名無しさん@そうだ選挙にいこう2015/05/24(日) 17:05:38.47
マクロの記録をセずにvbaを覚えているなら凄いと思うが
マクロの記録は覚えた方が良いと思う。
0311名無しさん@そうだ選挙にいこう2015/05/24(日) 17:06:57.23
>>308

例えば値だけを貼り付けるときと、元の〜としたとき、
コピー元がゴシックで貼り付け先が明朝だとすると、値だけを貼り付けると貼り付け先の明朝になる
元の書式を〜とするとゴシックで貼り付けられるんじゃないかな
0312名無しさん@そうだ選挙にいこう2015/05/24(日) 17:14:02.44
エクセルで
例えば
510と入力した場合
あるいは5.10と入力した場合

5月10日と表記できるようにする方法はないでしょうか?

h"年"m"月"

だと全く上手くいきません。

どなたかエクセルにお詳しい方いましたら教えていただけないでしょうか?
0313名無しさん@そうだ選挙にいこう2015/05/24(日) 17:14:06.30
マクロ記録ってこのように仕様を調べる時にしか役立たない

記録されたコードをそのまま使うのは極初心者限定
0314名無しさん@そうだ選挙にいこう2015/05/24(日) 17:19:46.38
>>312
書式設定は日付シリアル値でないと使えない
そういうときは文字列関数をつかう 俺なら日付シリアルで入力するけどね
0315名無しさん@そうだ選挙にいこう2015/05/24(日) 17:24:01.15
>>309
ただ事実に沿ってテンプレート通り記述して質問しただけで見栄なんか張ってませんが
だいたい質問してる時点で自分の力不足を認めて質問してるはずだし、その時点で見栄もくそもないのに、どうしたら見栄を張ってるって発想になるの?
そもそもマクロを記録してそのコードを見て分かるのなら誰も質問しないし
実際に、普通の貼り付けとの違いは、規定値以外では「xlPasteAllUsingSourceTheme」が出てきたことだけど、
その意味を調べて理解できるのならここで聞かんわ
VBAでの回答を「否」って書いてるのに、わざわざVBAを持ち出し嫌がらせみたいなことして、答える気が全くないような回答するんだったら、人を不快にさせるだけだから回答するなって
0316名無しさん@そうだ選挙にいこう2015/05/24(日) 17:36:20.39
>>312
510と入力されてるセルをA1としたら、仮に2015年5月10日と表記したいセルに
(基本的にエクセルは年も入力しなければいけない)

=IF(LEN(A1)=4,DATE(2015,LEFT(A1,2),RIGHT(A1,2)),DATE(2015,LEFT(A1,1),RIGHT(A1,2)))
0317名無しさん@そうだ選挙にいこう2015/05/24(日) 17:39:36.78
>>316
補足

その関数を入力すると表記したいセルにはシリアル値ででてくるかもしれないし、それも含めて最後に自分の表記したいようにセルの書式設定をすればよい
0318名無しさん@そうだ選挙にいこう2015/05/24(日) 17:45:16.04
>>311
いや、「値の貼り付け」と「元の書式を保持」する貼り付けが違うのはわかるんですよ
ショートカットキーではctrl+Vにあたり、数値から書式まですべてを貼り付ける、普通の「貼り付け」と、「元の書式を保持する」貼り付けは機能的にどう違うかがわからないんです
どっちも一緒じゃないのかと思いまして
0319名無しさん@そうだ選挙にいこう2015/05/24(日) 17:48:01.59
>>312
同じセルで書式設定どうこうじゃ無理だな
vbaを使うか、違うセルに表示させるか、素直に「5/10」と打つか
0320名無しさん@そうだ選挙にいこう2015/05/24(日) 20:08:43.75
>>312
111と入力したら1/11か11/1か見分け付かないので510は無理
5.10と入力するなら5/10と入力した方が合理的だが理由は何?
0321名無しさん@そうだ選挙にいこう2015/05/24(日) 20:18:53.07
>>311
釣られるなよ
0322名無しさん@そうだ選挙にいこう2015/05/24(日) 20:25:15.23
>>309
質問してる人にろくに答えもせずばかにするこいつみたいな人間にはなりたくないなぁ。
0323名無しさん@そうだ選挙にいこう2015/05/24(日) 20:43:56.37
釣れないと悔しいのは判ります
0324名無しさん@そうだ選挙にいこう2015/05/24(日) 21:12:39.25
>>321と>>323ってなんでこんな必死なの
0325名無しさん@そうだ選挙にいこう2015/05/24(日) 21:15:33.19
>>320
恐らく既に入力されたファイルが送られてきているんじゃなかろうか
うちの取引先でも、510みたいな入力してくるところはある
(一か月分のデータなのでそのファイル内では混同される心配はないが
コピペすれば自動で加工されるファイル作ろうとして苦戦する羽目になった)
0326名無しさん@そうだ選挙にいこう2015/05/24(日) 21:19:05.04
>>321
え、何に?
0327名無しさん@そうだ選挙にいこう2015/05/24(日) 21:27:39.74
>>306
俺の経験上の話だけど、ほとんど一緒と考えちゃっていいと思う
ただ、テーマが設定されているブックから違うブックにコピペするとき、
書式を保持して貼り付けるとそのテーマのフォントとかで貼り付けられるけど、
普通の貼り付けだとそのテーマで貼り付けられることはない
まあテーマなんて設定しないだろうからほとんど一緒だよ
他に補足とか修正あればよろしく
0328名無しさん@そうだ選挙にいこう2015/05/24(日) 21:35:22.93
>>327
元の書式を保持して貼り付けを使うと普通のコピペと違って
データの入力規則は貼り付けられない
0329名無しさん@そうだ選挙にいこう2015/05/24(日) 21:44:24.49
VBAで質問です。
条件をみたすとBを◯で囲んだものを表示させるということがしたいのですが、特殊文字はVBAで使用出来ない様で?が表示されてしまいます。
わかる方お願いします。
0330名無しさん@そうだ選挙にいこう2015/05/24(日) 23:21:44.68
>>329
CheW関数を使うといいミエ
このサンプルを試してみるミエ

Cells(1, 1) = ChrW(9397 + 1) ' (A)
Cells(2, 1) = ChrW(9397 + 2) ' (B)
Cells(3, 1) = ChrW(9397 + 3) ' (C)
0331名無しさん@そうだ選挙にいこう2015/05/25(月) 00:01:37.92
>>327
>>328
どうもありがとうございます
0332名無しさん@そうだ選挙にいこう2015/05/25(月) 01:17:57.93
【1 OSの種類         .】 Mac OS X Yosemite
【2 Excelのバージョン   】 Excel for mac 2011
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 どちらでも

macでcsv出力すると改行コードがCRになり不都合があります
CRLFで出力する方法はありませんか?
0333名無しさん@そうだ選挙にいこう2015/05/25(月) 01:23:26.54
>>332
VBAでファイル出力を作るんなら行の区切りに Chr(13) & Chr(10) を出力すればいい
0334名無しさん@そうだ選挙にいこう2015/05/25(月) 05:13:32.30
>>330
>>333
ありがとうございます
0335名無しさん@そうだ選挙にいこう2015/05/26(火) 16:52:06.50
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい まぁ少しくらいなら
【4 VBAでの回答の可否】 可

G2からG10まで入力する欄があるんですが、
その入力した時の日付をその横H列に自動で出すって方法ありますか?
あったら教えて欲しいです m(_ _)m
0336名無しさん@そうだ選挙にいこう2015/05/26(火) 17:16:38.79
>>335
VBAでOnChangeを使うと、入力があるごとにマクロが動き出すので
セルに日付を入れるようなマクロを用意しておけばいい
0337名無しさん@そうだ選挙にいこう2015/05/26(火) 18:34:38.09
>>336

OnChange でぐぐってみて ワークシートのイベントってのが見つかったんでこれですかね。
これでやってみます。ありがとう
0338名無しさん@そうだ選挙にいこう2015/05/26(火) 21:42:57.18
分割で失礼いたします。

【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 初歩的なものなら・・・
【4 VBAでの回答の可否】 可

ファイル名指定でテキストファイルを開き、文字列検索をかけて結果をエクセル
に戻したいです。


セルA セルB セルC
1 A100  B100  C1000 
2 A101  B200  C200
3 A102  B4000 C500
4 A103  B100  C8000
・
・
・

�@セルAの説明
連番であり、これが開くテキストファイルの名前になります。
 
�AセルB・セルCの説明
 ランダム数値となり桁数も毎回違い不規則です。
 ここの数値で開いたテキストファイルの中身に検索をかけます。
0339名無しさん@そうだ選挙にいこう2015/05/26(火) 21:43:49.06
>338 の続きです。

例:A1=A100 B1=B100 C1=1000
 A100(ファイル置き場はD\直下)というテキストファイルを開き、B100と
 C1000 の文字列があるか検索をかけたいです。検索結果は複数一致しますが
 抜けていないかの判断が出来ればいいので、
B1の検索結果はD1
C1の検索結果はE1 へ結果を出したいです。
結果は一致があれば ○、無ければ×(正と不の数値で返す等判別可能なら何でも可)
検索が終わったら開いたテキストファイルはノーセーブで閉じて次のテキストを開き
また検索といった感じです。


これを 最大150行分 検索できるようにしたいです。
毎回150行あるわけではなく、10ファイルだったり50ファイルだったりとバラバラ
ですのでセルAに入力が無い場合はマクロを終了(もしくはスキップする)といった
感じにしたいです。
またテキストファイルの容量も6Mあったりと(65万行とかあります。)バラバラです。

テキストをエクセル内に取り込んだ検索マクロが出来て喜んでたら、容量多いデータの行数に撃沈しました・・・
こちらなんとかできますでしょうか。お願い致します。
0340名無しさん@そうだ選挙にいこう2015/05/26(火) 23:14:56.68
>>338
うーん
マクロで作れるけど、全文検索システム探す方が早いと思う
http://www.vector.co.jp/vpack/filearea/win/util/file/find/index.html

昔気に入ってたソフト商会しようと思ったけど忘れた
0341名無しさん@そうだ選挙にいこう2015/05/26(火) 23:52:13.89
vbaのプロシージャを2枚に並べて表示できないですか?
行数が増えてくると最初の行まで戻るのにかなり面倒なので、1画面で2まい分並べてみたいのですか
0342名無しさん@そうだ選挙にいこう2015/05/27(水) 00:03:15.53
>>341
右上の□(最大化ボタン)か、ウィンドウの分割でどう
0343名無しさん@そうだ選挙にいこう2015/05/27(水) 00:36:34.52
>>339
VBAでなんとかできるよ。で、何をお願いしてるの?
0344名無しさん@そうだ選挙にいこう2015/05/27(水) 09:19:20.92
>>338
シェルからgrepを呼び出せばいい
結果は標準出力に出るから、それを取り込む
0345名無しさん@そうだ選挙にいこう2015/05/27(水) 09:31:17.72
>>344
VBAがまともに使えないような人間に、シェルだのgrepだの馬鹿ですかお前?
0346名無しさん@そうだ選挙にいこう2015/05/27(水) 11:04:16.57
プログラマは意外とエクセルに弱いから言うだけ言ってみる価値はあると思う
0347名無しさん@そうだ選挙にいこう2015/05/27(水) 13:48:41.73
>338-339 です。

ご返答ありがとうございます。
現状使用しているエクセルファイルがあり、その中での作業と限定されていますので
VBAのプログラムコードで教えていただけますでしょうか。
説明足らずで申し訳御座いませんでした。

よろしくお願い致します。
0348名無しさん@そうだ選挙にいこう2015/05/27(水) 14:28:07.36
>>347
ほれ、テキストファイルから文字列を検索する最小限のサンプル
これを順にループして、ヒット数が0より多いかどうか順番に調べればいい

Sub Macro1()
  f = Cells(1, 1)  ' ファイル名
  s = Cells(1, 2)  ' 検索したい文字列
  With CreateObject("WScript.Shell")
    With .Exec("cmd /c find /c """ & s & """ " & f)
      Do Until .Status
        DoEvents
      Loop
      a = Split(.StdOut.ReadAll, " ")
      MsgBox "ファイル " & f & " には「" & s & "」が " & Val(a(UBound(a))) & "個含まれていました"
    End With
  End With
End Sub
0349名無しさん@そうだ選挙にいこう2015/05/27(水) 14:36:12.28
>>341
モジュールを分けるとか
0350名無しさん@そうだ選挙にいこう2015/05/27(水) 21:57:16.49
>>349
そうだよなvbaはエデェタが貧弱で使い勝手が悪いから、沢山のmoduleに分割して
一つのmoduleの行数を数百行以内位に
抑える位しか対策が無いよな。
0351名無しさん@そうだ選挙にいこう2015/05/27(水) 22:22:44.67
1つのプロシージャをどうやってモジュールに分けるんだ?
0352名無しさん@そうだ選挙にいこう2015/05/27(水) 22:30:07.36
>>351
そもそも長すぎるプロシージャがよくない
いくつかの短いプロシージャに分けるの推奨
0353名無しさん@そうだ選挙にいこう2015/05/27(水) 22:58:30.48
Excel2003で質問なのですが、以下の数式でなぜかエラーが、でます。というか入力できません。

IF(A4,"","",IF(A4=167,(A2/A3*0.01)/24,IF(A4=84,(A2/A3*0.01)/24)*2,IF(A4=56,(A2/A3*0.01)/24)*3))

どなたか理由分かる方いましたら教えてください。
0354名無しさん@そうだ選挙にいこう2015/05/27(水) 23:22:39.38
IF(A4,"","",
ここはなにがしたいの
0355名無しさん@そうだ選挙にいこう2015/05/27(水) 23:36:54.21
>>353
>>354の通りだけど、数式の検証って機能覚えるといいよ
もし使えないなら
IF(A4,"","",IF(A4=167,(A2/A3*0.01)/24,IF(A4=84,(A2/A3*0.01)/24)*2,IF(A4=56,(A2/A3*0.01)/24)*3))
を
IF(A4,"","",IF(A4=167,(1)/24,IF(A4=84,(A2/A3*0.01)/24)*2,IF(A4=56,(A2/A3*0.01)/24)*3))
など一番内側にある括弧内を1に置き換えればそのうち見つかる
かもしれない
0356名無しさん@そうだ選挙にいこう2015/05/28(木) 00:35:12.60
カッコの位置とか演算子とかめちゃくちゃじゃん
ようするに、A4の値によって結果を変えたいんだろ

たぶん最初は
IF(A4="",""
だろうし、やりたいことを推測して全体を直すと
=IF(A4="","",IF(A4=167,(A2/A3*0.01)/24,IF(A4=84,(A2/A3*0.01)/24*2,IF(A4=56,(A2/A3*0.01)/24*3,"error"))))
あたりと違うかな

A4が167,84,56のどれでもなかった時は、とりあえずエラーにしといたけど、
ここらへんも希望と違ってる可能性がある
0357名無しさん@そうだ選挙にいこう2015/05/28(木) 01:17:26.85
356の方のおっしゃる通りの事がやりたかったので助かりました。
慌て質問をうったので間違えだらけですね。
分かりにくい質問してすみませんでした。

皆さんありがとうございました。
0358名無しさん@そうだ選挙にいこう2015/05/28(木) 05:32:25.69
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 否

A列に数字が入っていて、B列に○、△、□、のような分類記号が入っている時、
○の合計、△の合計、□の合計をそれぞれ出したいです。
VBAなしで出来ますか?よろしくお願いします。
0359名無しさん@そうだ選挙にいこう2015/05/28(木) 08:02:58.43
>>358
ピボットや関数式使って出来ます
0360名無しさん@そうだ選挙にいこう2015/05/28(木) 08:16:06.31
>>358
作業列使えば難しい関数使わなくても出来ますよ
0361名無しさん@そうだ選挙にいこう2015/05/28(木) 09:15:35.68
>>358
CDEを作業列にして
C1=A1*(B1="○")
D1=A1*(B1="△")
E1=A1*(B1="□")
オートフィルしたら縦に合計
0362名無しさん@そうだ選挙にいこう2015/05/28(木) 11:14:08.14
>>358
B列が○の行だけA列を足す
=SUMPRODUCT((B1:B100="○")*(A1:A100))
0363名無しさん@そうだ選挙にいこう2015/05/28(木) 12:32:04.08
>>348さん
>338-339です。

返答遅れまして申し訳御座いません。
コードありがとうございます!
後ほどやってみます。
0364名無しさん@そうだ選挙にいこう2015/05/28(木) 13:59:50.89
>>361
横からですが
初めて見る数式で勉強になりました
TRUE(1)またはFALSE(0)を返すって事ですよね?
0365名無しさん@そうだ選挙にいこう2015/05/28(木) 14:10:38.47
ソウダヨ
0366名無しさん@そうだ選挙にいこう2015/05/28(木) 14:29:23.45
>>365
ありがとう
0367名無しさん@そうだ選挙にいこう2015/05/28(木) 18:39:24.11
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可


フィルター時に出てくる▼のボタンを図形やボタンの上に表示したいのですがオブジェクトを選択して「背面へ移動」をしても▼のボタンが表示されません

2007では出来たのですが2010では出来ないでしょうか?
ググっても出てこなかったのでここで書かせていただきました
0368名無しさん@そうだ選挙にいこう2015/05/28(木) 22:03:04.65
>>367
http://pbs.twimg.com/media/CFrlOXAUgAAE8p2.jpg
0369名無しさん@そうだ選挙にいこう2015/05/28(木) 23:25:11.63
vbaをvb.netにすれば
速く成りますか?
0370名無しさん@そうだ選挙にいこう2015/05/28(木) 23:37:21.57
>>369
物による
エクセルファイルを扱うならvbaの方が早いかも
0371名無しさん@そうだ選挙にいこう2015/05/29(金) 19:18:34.35
エクセルを開いているとき、そのファイルが
編集されている(保存の必要がある)か編集されていないかを
知る方法はありますか?

(保存する以外に)
0372名無しさん@そうだ選挙にいこう2015/05/29(金) 19:20:14.87
【1 OSの種類         .】 Windows8
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

エクセルを開いているとき、そのファイルが
編集されている(保存の必要がある)か編集されていないかを
知る方法はありますか?

(保存する以外に)
0373名無しさん@そうだ選挙にいこう2015/05/29(金) 19:29:51.89
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

セルに入れたひらがなを英語に変えるようにしたいのですが、例えばセルにあっぷるとひらがなで打ち込むとAPPLEと英語に置き換わるようにしたいのですが、可能なことでしょうか?
0374名無しさん@そうだ選挙にいこう2015/05/29(金) 19:35:57.50
>>372
保存してみたらいんじゃないなか
0375名無しさん@そうだ選挙にいこう2015/05/29(金) 20:21:17.57
>>372 そんなプロパティがあったはず 思い出せないけど
0376名無しさん@そうだ選挙にいこう2015/05/29(金) 22:26:24.42
>>372
ActiveWorkbook.Saved
0377名無しさん@そうだ選挙にいこう2015/05/29(金) 22:29:02.05
>>373
変換の一覧表を自力で作って、どこかのセルに入れておけば可能
0378名無しさん@そうだ選挙にいこう2015/05/29(金) 22:30:22.11
ATOKを買ってきてインストールすれば「あっぷる」から「apple」に変換できるようになるけど、自動変換にはVBAが必用
0379名無しさん@そうだ選挙にいこう2015/05/30(土) 00:00:55.35
>>373
googleかyahoo、また他企業の「翻訳api」iを呼び出せば可能かもしれない

形態素解析apiを叩き、「あっぷる」や「アポー」→林檎、を呼び出す
で、呼び出した「林檎」を辞書を通して"apple"にする
今試したら「あっぷる」はappleまでできたけど「あぽー」は無理だった
これだけ有名な名詞で無理なら、基本無理だろう
0380名無しさん@そうだ選挙にいこう2015/05/30(土) 00:39:03.70
>>368
農協にこんな可愛い子がいるのはビックリです
>>367の返答も頂けると嬉しいです
0381名無しさん@そうだ選挙にいこう2015/05/30(土) 00:42:43.58
>>372
×押して閉じてみる
0382名無しさん@そうだ選挙にいこう2015/05/30(土) 00:56:50.42
>>367
基本無理と思う。できるかもしれんが知らん。とりあえずvbaは必須。

別解として、三角ボタンみたいなオートシェイプを作って、それをクリックした際のイベントを・・・
・フィルターを押下した時のイベントにバインドする
・シェイプを全部非表示、座標クリック、シェイプを再表示
・userform呼び出して色々する
とする
vbaを覚える必要があるが、まぁ分からなければまたここで聞くと良い
0383名無しさん@そうだ選挙にいこう2015/05/30(土) 16:41:43.31
【1 OS  .】 Windows7
【2 Excel 】 Excel2003
【3 VBA .】 超初心者だす
【4 VBAでの回答】 可

http://www2u.biglobe.ne.jp/~bjb52646/e/ask.png
D行を上から参照して、「1」なら
C行の数が a>b>c を満たすか参照を開始
満たさないなら0、満たせばその数を返して終了

お願いします(- -)
0384名無しさん@そうだ選挙にいこう2015/05/30(土) 16:44:13.65
a>b>c じゃない a>c>b でしたすまそ
0385名無しさん@そうだ選挙にいこう2015/05/30(土) 17:12:33.65
勘違いしているかもだが

A1=(D1=1)*(A1>C1)*(C1>B1)*C1

下方向にオートフィルでどうだろう?
0386名無しさん@そうだ選挙にいこう2015/05/30(土) 18:27:55.42
ごめん、A1=じゃなくて、E1=
0387名無しさん@そうだ選挙にいこう2015/05/30(土) 19:20:43.56
>>383
画像の6行目、abcが5 7 6でeが6になってるけど、それだとc>b>aかb>c>aじゃない?
どっちが正しいの?

>>385
それだとE1、E7が空にならない
0388名無しさん@そうだ選挙にいこう2015/05/30(土) 19:31:54.87
>>382
ありがとうございました。
素直にボタンの位置をズラして対応するようにします
0389名無しさん@そうだ選挙にいこう2015/05/31(日) 00:29:20.92
=IF(A2=B2=C2,"全て同じ","NG")

上記の書き方って間違ってますか?
上記のIFを結果の部分に入力したところ下記のようになりました。

内容 内容 内容 結果
1 2 3 NG
NG
あ 全て同じ

http://fast-uploader.com/file/6988554900899/ エクセルファイルをアップしました

1番目のNGはわかるのですが、
2番目は全て同じ になるはずだと思いますし、
3番目はNGになるはずだとおもうのですが、、
0390名無しさん@そうだ選挙にいこう2015/05/31(日) 00:40:22.05
内容 内容 内容 結果
1   2 3 NG
NG
あ 全て同じ
0391名無しさん@そうだ選挙にいこう2015/05/31(日) 00:44:30.29
>>389
Excelの数式は、2個ずつしか比べることができない
だからABCの3つが全部同じかどうか調べるには3段階に分けなきゃいけない

正解を書くと
=IF(AND(A2=B2,B2=C2),"全て同じ","NG")

2個ずつ2回に分けて調べたあと、その2回をさらにAND関数で調べてる
こうしないと 3つが同じかどうか調べられない
0392名無しさん@そうだ選挙にいこう2015/05/31(日) 00:45:31.65
>>389
基本を覚えよう
vbaは左から評価されるらしい

A1=2
B1=2
C1=true
=A1=B1=C1
これはC1でtrueが返る
個人的には括弧でくくりまくったほうがいい気もする
03933892015/05/31(日) 02:42:24.71
教えていただいてありがとうございました。
大変助かりました。
0394名無しさん@そうだ選挙にいこう2015/05/31(日) 23:31:47.85
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


質問です。

現在COUNTIF関数を用いてB1〜B5の「バナナ」の数を求めています。
=COUNTIF(B1:B5,"バナナ")

ただA1〜A5の「国産」と「海外産」とで種類分けしているので、

国産 バナナ
海外産 バナナ
国産 バナナ
国産 バナナ
海外産 バナナ

これで先ほどの関数を入力してしまうと国産と海外産のバナナが合算されてしまいます。
種類別にバナナの合計数を算出したい場合はどうしたら良いのでしょうか。
0395名無しさん@そうだ選挙にいこう2015/05/31(日) 23:45:25.43
”国産バナナ”の列をつくってそれを数える
0396名無しさん@そうだ選挙にいこう2015/05/31(日) 23:54:38.26
>>395
やはりそれしかないですか…。
ありがとうございました。
0397名無しさん@そうだ選挙にいこう2015/06/01(月) 00:05:53.42
すいません、>>396で納得して試したら他に支障が出てしまったので、
やはりA列の「国産」と「海外産」は別のセルで分けたままというのはできないのでしょうか。
0398名無しさん@そうだ選挙にいこう2015/06/01(月) 00:12:24.39
そのままでいいじゃん カウントは作業列でする
0399名無しさん@そうだ選挙にいこう2015/06/01(月) 00:29:09.90
>>394
=SUMPRODUCT(((A1:A5)="国産")*((B1:B5)="バナナ"))
sumifsのほうが良さそうだけどあれは2010か2013からだっけか
0400名無しさん@そうだ選挙にいこう2015/06/01(月) 00:42:37.91
>>399
ありがとうございます。
これで他のセルで問題が起きずに済みます。
ただこの場合ですと"国産"と"バナナ"の部分にワイルドカードは使用できないのでしょうか。
0401名無しさん@そうだ選挙にいこう2015/06/01(月) 01:15:33.73
ひとつ補足すると SUMPRODUCT()は 数が増えると重くなる
0402名無しさん@そうだ選挙にいこう2015/06/01(月) 01:58:39.10
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel 2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

Excel 2013にてグラフをVBAを使い自動で描写させているのですが、X軸のオプション設定を
VBAで日付軸に変更するコードをおしえてください
0403名無しさん@そうだ選挙にいこう2015/06/01(月) 06:02:55.97
>>400
COUNTIFS使えば解決する
ワイルドカードも対応
=COUNTIFS(A1:A5,"*国産*",B1:B5,"*バナナ*")
みたいな使い方が可能

>>399
2007からの機能だから、COUNTIFSもSUMIFSも普段使いしている
0404名無しさん@そうだ選挙にいこう2015/06/01(月) 09:12:45.57
>>402
マクロの記録じゃ無理だっけ
0405名無しさん@そうだ選挙にいこう2015/06/01(月) 12:11:35.31
VBAでグラフを自動生成したいのですが、グラフのデータ範囲の名前を指定するところで、うまくいきません。
固定されたものを指定することはできるのですが、ループごとに名前を可変にできません。
for r=1 to 100

省略
.fullseriescollection(2).name="=""graphname"""

next r
とすると、凡例がgraphnameという文字列になります。1F,2F,というように名前を変えたいときはどうすればよいでしょうか?
graphname=r&"F"
としています
0406名無しさん@そうだ選挙にいこう2015/06/01(月) 12:18:54.26
>>405
graphname = r & "F"
.fullseriescollection(2).name = "=" & graphname
0407名無しさん@そうだ選挙にいこう2015/06/01(月) 12:40:26.98
>>406
すみません、それだとアプリケーションまたはオブジェクトのエラーとなるため、=graphnameとすればうまくいきました。すみません。

次にまた相談があって、一つのグラフシートに30個のグラフを作成するためのマクロを作っています。
グラフはd列をY,e列をx軸にとり、次はf列とg列で…というようにつくります。下記のマクロを動かすと一つのグラフシートにd列とe列のグラフが出来ます。
しかし次のループにいくとf列とg列のグラフのみに置き換わってしまいます。共存させたいのですが、どうすればよいのでしょうか。
長いので分割します。
0408名無しさん@そうだ選挙にいこう2015/06/01(月) 12:40:56.67
Sub Macro1()
Dim DsceRng As Range 'データ範囲,
Dim XvalRng As Range 'データ範囲_系列1
Dim ValRng As Range 'データ範囲_系列2
Dim myChartCount As Long 'グラフ作成個数
Dim GraphName As String
myChartCount=30
ActiveSheet.Shapes.AddChart2(240, xlXYScatterLines).Select

For c = 1 To myChartCount Step 1
With ActiveSheet
Set DsceRng= .Range("D14:E40000").Offset(2 * (c - 1))
Set XvalRng= .Range("E14:E40000").Offset(2 * (c - 1))
Set ValRng = .Range("D14:D40000").Offset(2 * (c - 1))
End With

iststy =myChartCount / 2 - c + 1
GraphName = iststy & "FL"
With ActiveChart
.SeriesCollection.NewSeries
.SetSourceData Source:=DsceRng
.FullSeriesCollection(1).XValues = XvalRng
.FullSeriesCollection(1).Name = GraphName
.FullSeriesCollection(1).Values = ValRng
End With
Next c
End Sub
0409名無しさん@そうだ選挙にいこう2015/06/01(月) 20:18:43.67
>>403
まさに期待していた動きをしてくれました!
本当にありがとうございます!
04104072015/06/01(月) 23:21:45.31
>>408
わかりづらかったでしょうか。
いろいろ調べて試してみましたが解決できず、困っています
0411名無しさん@そうだ選挙にいこう2015/06/02(火) 19:27:51.32
>>375-376
ありがとうございます

ActiveWorkbook.Saved
すばらしいプロパティです
0412名無しさん@そうだ選挙にいこう2015/06/03(水) 07:45:57.44
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
ある一つのセルを2で割って端数を切り捨て=int(A1/2)
最低を0ではなく1として=max(1,int(a1/2))
さらに別のセルを加減算をしたものを=max(1,int(A1/2))-A2
同様に2で割って最低1にして=max(1,int(max(1,int(A1/2))-A2)/2)
さらに別のセルを加減算をしたものを=max(1,int(max(1,int(A1/2))-A2)/2)-A3
同様に2で割って最低1にして=max(1,max(1,int(max(1,int(A1/2))-A2)/2)-A3)
とやったのですが、intとmaxだらけで不恰好です
計算式をすっきりさせる、もっと効率のいい関数は無いでしょうか?

この計算をAだけではなくB、C、D…とやっていくので複雑化するため、一時退避のセルは使わない方向でお願いします
あと、途中途中で加減算があるため、最後にまとめて1回だけmax(1,int())とすると答えが狂いますので、これもチョンボです
0413名無しさん@そうだ選挙にいこう2015/06/03(水) 08:01:02.48
>>412
その程度ならたいした長さでもなくね?
一番いいのは、やりたいことずばりのユーザー定義関数を作ることだがVBA不可か
0414名無しさん@そうだ選挙にいこう2015/06/03(水) 08:23:24.45
>>413
ExcelだけでなくAOOやLOのCalcでも開くのでマクロは不具合です
まあ、大量のmax(int())を見なかったことにすれば動作も安定しているので
所謂「贅沢」って奴です
この後のメンテナンスも考えるとmaxint数重式はメンテナンス精も悪いですし
maxに変わる「最低1を出す標準関数」でもあれば楽なんですけどね
0415名無しさん@そうだ選挙にいこう2015/06/03(水) 12:30:22.76
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Sheet1の2行目以下に次のように入力し
A列:発売日
B列:演奏者名
C列:タイトル

Sheet2に次のように表示したい(作業列を使った場合列が変ってもかまいません)
A1:演奏者名 B1:演奏者1
A3:発売日 B3:タイトル
4行以下に集計したデータ

C1:演奏者名 D1:演奏者2
C3:発売日 D3:タイトル
4行以下に集計したデータ

同様に演奏者ごとの2列ずつのデータを入力した演奏者の分だけ表示し
データ無しの時は1行目を表示させたくない

よろしくおねがいします
0416名無しさん@そうだ選挙にいこう2015/06/03(水) 13:01:43.12
 B1:演奏者1
って何
0417名無しさん@そうだ選挙にいこう2015/06/03(水) 13:15:01.07
>>415
sheet2!a1=INDIRECT("sheet1!r"&INT((COLUMN()+1)/2)+1&"c"&
IF(ROW()=3,1,0)+
IF(ROW()=1,2,0)+
IF(ISEVEN(COLUMN()),1,0),0)

縦横にオートフィル
0418名無しさん@そうだ選挙にいこう2015/06/03(水) 14:01:46.04
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 ド素人です・・・
【4 VBAでの回答の可否】 可

すみませんグラフについてお聞きしたいんですが
データテーブルというのを表示させた時に
項目名?というのか、もともとの横軸にあったものを
一番下に配置することはできませんか?

ちょっとテキトーにググって(これは2013となってますが)
http://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=016030
これのグラフでいうところの
「本社 A支店 B支店 C支店」を一番下(6月の下)にもってきたいんです

できれば上と下と両方に表示みたいなことではなく
下側にだけ表示にしたいんですが・・・可能でしょうか?
0419名無しさん@そうだ選挙にいこう2015/06/03(水) 14:14:22.74
>>416
B1:演奏者1は、Sheet1のB2に入力された値です

同様にD1:演奏者2は、Sheet1のB2とB3が異なった場合B3の値です
同じ場合は表示しません

書き忘れました
>データ無しの時は1行目を表示させたくない
データ無しの時は1〜3行目を表示させたくない

>>417
ありがとうございます
今は時間が無いので後ほど試してみます
0420名無しさん@そうだ選挙にいこう2015/06/03(水) 14:19:54.25
>>419 の補足
Sheet1の1行目は見出しで
A1=発売日 B1=演奏者名 C1=タイトル
2行目以下が入力されたデータです
0421名無しさん@そうだ選挙にいこう2015/06/03(水) 14:43:22.33
>>420
演奏者ごとにタイトルを発売日順に並べるって事ね
オレの頭じゃ作業列使わないと無理だから演奏者85人で足りる?
0422名無しさん@そうだ選挙にいこう2015/06/03(水) 15:28:12.50
>>419
Sheet1のデーターが無い時はSheet2は何も表示されないで
演奏者の数に応じ列表示が増えるって事でおk?
0423名無しさん@そうだ選挙にいこう2015/06/03(水) 16:44:36.72
>>421
>演奏者ごとにタイトルを発売日順に並べるって事ね
そうです
85人で十分です

>>422
おkです
0424名無しさん@そうだ選挙にいこう2015/06/03(水) 18:29:25.83
すみません超初心者質問なんですが
Excel2013でCOUNTAで範囲指定して、そのセルが空白じゃない個数を教えてくれると思うのですが例えばA1〜A5までの範囲を指定してB1にその個数を表示させるせるとします 例えばA1とA5に文字が入力されてたらB1には2と表示されます
しかしあとからA2やA4に文字を入力する、或いはA1やA5の文字を削除してもB5の値が変わりません
随時変わるようにしたいのですがどうすればいいのでしょうか?
よろしくお願いします
0425名無しさん@そうだ選挙にいこう2015/06/03(水) 19:06:18.22
>>424
B1に入れたその数式でB5の値は変わらんと思うの

B1が変わらないとすれば
B1=COUNTA(OFFSET(A1,,,5))
みたいに、揮発性噛ますといいかも
0426名無しさん@そうだ選挙にいこう2015/06/03(水) 19:12:51.42
手動計算のファイルを開いた後、自動計算のファイルも手動計算になっていることがあります。
数式の自動・手動計算ってどこで保存されてるんでしょうか?
複数シート選択+保存のバグではないです
04274182015/06/03(水) 20:27:24.09
すみません>>418も回答願います・・・
0428名無しさん@そうだ選挙にいこう2015/06/03(水) 20:34:52.53
>>418>>427
出来る方法はあるかもしれないけど、俺の知識には無い
ってかたぶん無理だと思う
0429名無しさん@そうだ選挙にいこう2015/06/03(水) 20:44:11.69
>>425すみませんB5ではなくB1の間違いでした
ちなみにそのやりかたでやると

この関数に対して少なすぎる引数が入力されてます

と出て上手くいきませんでした
0430名無しさん@そうだ選挙にいこう2015/06/03(水) 20:49:55.11
すみません>>424です
何故か今度は特に何もしてないのに
再度閉じたファイル開いたら
後から入力したものが反映されるようになってました
これって何故なんでしょうか
0431名無しさん@そうだ選挙にいこう2015/06/03(水) 20:55:50.03
>>430
自動計算が手動計算になっている
counata()は関係ない

変更の仕方は エクセル 手動計算 辺りでぐぐれ
0432名無しさん@そうだ選挙にいこう2015/06/03(水) 20:58:13.85
>>431できました!
本当にありがとうございました!
0433名無しさん@そうだ選挙にいこう2015/06/03(水) 21:51:08.52
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

ブックに2つのシートがあるとき、一時的に両方同時に見たいんだけど
どうしたら良いですか?
片方は書き込み不可(閲覧のみ)状態でも構わないでござる
0434名無しさん@そうだ選挙にいこう2015/06/03(水) 22:01:44.79
>>433
「新しいウィンドウを開く」
「新しいウィンドウで開く」
どっちだっけ?多分表示の中に入ってる
0435名無しさん@そうだ選挙にいこう2015/06/03(水) 22:39:34.27
>>434
ありがとう
なにこれ超便利じゃん
0436名無しさん@そうだ選挙にいこう2015/06/04(木) 02:43:09.80
最近xlsmファイルで動作を停止して再起動し出すようになった
windows8.1の2013 professional 64bit版なんだけどなんなんだろう
0437名無しさん@そうだ選挙にいこう2015/06/04(木) 07:40:21.96
>>423
複雑に見えるが実は簡単かと思い手を付けたが意外と難しいな
明日あたりには出来そうだけど間に合う?
0438名無しさん@そうだ選挙にいこう2015/06/04(木) 14:14:47.62
>>437
急ぎじゃないので大丈夫です
よろしくどうぞ
0439名無しさん@そうだ選挙にいこう2015/06/04(木) 20:40:30.95
VBAで質問です。
ユーザーフォームのテキストボックス1とテキストボックス2の値を繋げて一つのセルに入力することは可能ですか?

A1=テキストボックス1の値 ""テキストボックス2の値

の様な感じで、A1にテキストボックス1と2の値をスペースで繋げて表示したいです。
0440名無しさん@そうだ選挙にいこう2015/06/04(木) 20:44:54.96
>>439
& で繋ぐだけで普通に出来る
A1=Textbox1.Value & " " & Textbox2.Value
0441名無しさん@そうだ選挙にいこう2015/06/04(木) 21:56:18.11
>>440
簡単なこと質問してすみませんでした
0442名無しさん@そうだ選挙にいこう2015/06/06(土) 22:45:38.24
おれと打つのにどうして漏れって誤変換になるの?
0443名無しさん@そうだ選挙にいこう2015/06/06(土) 22:54:02.03
実は、俺→実は漏れ
jituha,ore→jituhamore
句点の「、」を「m」と打ち間違えたため

まぁ今更そんなことを気にするヤシはおらんだろう
0444名無しさん@そうだ選挙にいこう2015/06/07(日) 02:59:56.99
【1 OSの種類         .】 Windows8
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
計算のアルゴリズムで分からなくなった事があるのですが
「常に整数に整える」という条件の下、(a1/b1)/4を整数化する場合
a1/b1の時点で整数化し、更に/4でも整数化した「INT(INT(a1/b1)/4)」の場合と、
最後にまとめて1回だけ「INT((a1/b1)/4)」とした場合で、
a1とb1の内容次第で計算結果が食い違う事はあるでしょうか?
0445名無しさん@そうだ選挙にいこう2015/06/07(日) 08:54:10.20
ないと思う方がどうかしてる
0446名無しさん@そうだ選挙にいこう2015/06/07(日) 10:06:27.12
小学生もExcelやる時代か…
0447名無しさん@そうだ選挙にいこう2015/06/07(日) 10:49:41.44
>>446
むしろ中学じゃね
小学校は分数という形でまだ計算するけど、中学以降は
小数点以下は誤差としてないものとして計算すると今の学校じゃ教えているようだから
0448名無しさん@そうだ選挙にいこう2015/06/07(日) 10:56:46.91
>>447
ソースある?
>中学以降は 小数点以下は誤差としてないものとして計算すると今の学校じゃ教えているようだから
0449名無しさん@そうだ選挙にいこう2015/06/07(日) 12:39:53.22
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(設置するだけなら出来ます)

表の縦の項目がbbbで横の項目cccがdddではない時の
縦の項目bbb横の項目eeeの値をfffに書き換える方法を教えて下さい

表の縦横から値を抽出するのは見つかるんですが
値を書き換えるのが見当たらなくて・・・
0450名無しさん@そうだ選挙にいこう2015/06/07(日) 12:43:02.61
書き換えるのはvbaじゃないと無理
普通は書き換えずにifで値を変える
0451名無しさん@そうだ選挙にいこう2015/06/07(日) 12:50:57.08
円周率が3ってやつ?
0452名無しさん@そうだ選挙にいこう2015/06/07(日) 17:41:40.75
【1 OSの種類         .】 Windows 8
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 多少は(ネットで探してコピペするぐらい)
【4 VBAでの回答の可否】 可

http://i.imgur.com/oMoPgtZ.png
上のように、リストされたデータの、特定の項目を全て入れ替えたいのですが、データが700件近くあって困ってます…。
どうすれば一番効率的なのでしょうか…。教えていただければ幸いです…。
0453名無しさん@そうだ選挙にいこう2015/06/07(日) 17:57:27.46
>>452
作業セル使えば文字列操作の関数で出来そう
でも数式設定が面倒なのでVBA向き
0454名無しさん@そうだ選挙にいこう2015/06/07(日) 18:00:54.91
>>452
作業列使いまくる
B列 findで最初の半角スペースを検索した位置
C列 B列以降の位置で"年"の文字を探す
D列 C列以降の”月”
・・・
あとはmidで取り出してちょいちょい入れ替えて&で結合すれば終わり
0455名無しさん@そうだ選挙にいこう2015/06/07(日) 18:55:04.25
>>453
>>454

ありがとうございます!
試してみたら無事に全データ整列しなおせました!
神よありがとう…。
ただ、一つだけ、


DATE: 2015年5月28日 14:43:51 JST

の年月日データを、

DATE: 05/28/2015 14:43:51 PM

に全て変換することは可能でしょうか?
これだけはやりかたがようわからんのです…。
0456名無しさん@そうだ選挙にいこう2015/06/07(日) 19:11:27.78
ごめん。見てたら閃いた
0457名無しさん@そうだ選挙にいこう2015/06/07(日) 19:23:47.84
>>455
a1=それ
b1=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1," JST",""),"DATE: ",""),"年","/"),"月","/"),"日","")
c1="DATE: "&TEXT(DATEVALUE(B1),"mm/dd/yyyy ")&TEXT(TIMEVALUE(B1),"hh:mm:ss")&TEXT(TIMEVALUE(B1),"am/pm")

DATEVALUE()ってかなり無茶な使い方できるのね。大丈夫かしら
0458名無しさん@そうだ選挙にいこう2015/06/07(日) 19:30:13.34
書式でやればいいのに
0459名無しさん@そうだ選挙にいこう2015/06/07(日) 21:18:11.79
>>457
天才すぎてワロタwwwww
できたーーーーwwwwwwwww
ありがとーwwwwwwwww神wwwwwwwww
0460名無しさん@そうだ選挙にいこう2015/06/07(日) 21:25:05.91
>>459
   ∧,,∧
  (;`・ω・)   <お、おめでとう
  / o={=}o , ', ´
、、しー-Jミ(.@)wwwwwwwwwww
0461名無しさん@そうだ選挙にいこう2015/06/08(月) 00:24:48.21
B列にB3から下まで数字が並んでて
C列の"C8"から下に、計算値入れたいのですが動きません


Dim lastrow As Integer
Dim para(1) As Variant

Sub xxxx()

lastrow = (Range("b3").End(xlDown).Row)
para(1) = 5


For i1 = para(1) + 3 To lastlow
Range("c" & i1) = 1

Next
End Sub

上のですが
どこが間違ってるのでしょうか
どうも (Range("b3").End(xlDown).Row) が怪しいと思ってるのですが
0462名無しさん@そうだ選挙にいこう2015/06/08(月) 00:29:37.60
>>461
おぬし
lastrow = 〜
For i1 = 〜 lastlow

row と low が混ざってるある

option なんとかって構文入れたほうがええよ
04634612015/06/08(月) 01:25:52.28
そおーかぁ! (゚з゚)
ありがとうございました
0464名無しさん@そうだ選挙にいこう2015/06/08(月) 02:44:52.38
>>445-447
亀レスだが、おまえらすげぇ馬鹿w
乗除算しかしない3つの整数の演算結果をintで整数にする場合
二重にintしようと、一番外だけintしようと途中に加減算がない限り必ず答えは一致する
質問者の状況の場合、加減算が存在しないので答えが変わることは無い
小学生、中学生レベルなのはむしろおまえらの頭だろw
ここまで馬鹿な奴等は正直見たことねぇわwww
0465名無しさん@そうだ選挙にいこう2015/06/08(月) 02:51:31.54
おっと入力ミスだw>>445-447の馬鹿さ加減に打ち間違いしたwww
乗除算しかしない3つの整数じゃなくて、除算しかしない3つの整数なw
0466名無しさん@そうだ選挙にいこう2015/06/08(月) 10:24:23.87
>>464 で、加減算がない限り、とか書いてるし打ち間違いじゃないだろ?
で、あとから乗算あっちゃだめって気付いて>>465 付け足したんだろ?
残念だったな笑
0467名無しさん@そうだ選挙にいこう2015/06/08(月) 11:53:29.30
>>466
おまえが>>445-447のどいつかは知らんが
>>445-447が割り算も満足にできない馬鹿である事は誤魔化しようがない事実だぞ?w
0468名無しさん@そうだ選挙にいこう2015/06/08(月) 11:56:26.48
まさに顔真っ赤にした>>445-447=>>446君乙だな
0469名無しさん@そうだ選挙にいこう2015/06/08(月) 12:33:09.66
まあおちつけ 
0470名無しさん@そうだ選挙にいこう2015/06/08(月) 13:01:54.88
とりあえず、変わるのか変わらないのか、どっちか答えてやってくれ
俺は分からんかった
0471名無しさん@そうだ選挙にいこう2015/06/08(月) 14:14:14.19
abcが自然数って条件で
a/bの結果をx+y(xは整数、yは1未満の実数)とすると、
int(int(a/b)/c)=int(x/c)
int(a/b/c)=int(x/c+y/c)
x/cをn+z/c(n,zは整数、z<c)とすると、
int(int(a/b)/c)=int(x/c)=n
int(a/b/c)=int(x/c+y/c)=int(n+z/c+y/c)=int(n+(z+y)/c)
ここで、
z<c、yは1未満、zとcは整数なので、z+y<cは明らか
よって、 int(n+(z+y)/c)=nとなり、 int(int(a/b)/c)の結果と一致する。

間違ってたらすまん
0472名無しさん@そうだ選挙にいこう2015/06/08(月) 17:44:50.91
【1 OSの種類         .】 Windows07
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 ド素人
【4 VBAでの回答の可否】 可

すみません?
たくさん選択したいセルがあって!
Union(Range("AE6, AS4, BI3, BI5, BU3, BY5, CG3, CG5, CT1, CO5"), _
Range("V10, AI10, AV11", "E13:E17"), _
Range("I20, S20, AC20, X22, AE22, AV22, AV33", "B26:AQ29"), _
Range("K34:AH34", "B38:V39"), _
Range("AH38:AH39"), _
Range("L42, P42, T42, X42, AB42, AG42, L43, P43, T43, X43, AB43, AG43, L45, T45, AB45, AK45"), _
Range("K49, U49, AE49, AV50", "B53:AC55"), _
Range("AO53:AO55", "AV57, V58, B63, M63, W63, AG63, AQ63, AV63"), _
Range("B67:W68", "AX67:AX68"), _
Range("O70, AV70", "E73:E78"), _
Range("CX8", "BF14:BK16"), _
Range("BZ14:CL16", "BK20:BZ20"), _
Range("CL20:CR20", "BF25:CX28"), _
Range("BI30:BI33"), _
Range("BW35, CZ35", "BF38:CY40"), _
Range("CO41, CU41", "BO46:CC46"), _
Range("CM45", "BL48:BL50"), _
Range("CB52, CK52", "BQ55:CY61"), _
Range("CE63, CR63, CX63", "BZ64:BZ65"), _
Range("BI67:BI72"), _
Range("CX74", "BI76:BI78") _
).Select
としたんですが
「'Range'メソッドは失敗しました: '_Global' オブジェクト」
というエラーが出てしまいます?どうしたらいいですか!
0473名無しさん@そうだ選挙にいこう2015/06/08(月) 17:51:45.59
>>472
rangeの書き方が間違っている。いかがエラーになる
Range("V10, AI10, AV11", "E13:E17").Select
こうかく
Range("V10, AI10, AV11,E13:E17").Select
0474名無しさん@そうだ選挙にいこう2015/06/08(月) 18:00:18.76
そ、そうだったんですね・・・
コロンで範囲指定する時はまたクォーテーションで区切るのかと・・・
ありがとうございした!
0475名無しさん@そうだ選挙にいこう2015/06/08(月) 18:48:19.03
あぁ、この書き方と間違えたのか。これならV10:AL10の意味に成る
Range("V10", "AI10").Select
0476名無しさん@そうだ選挙にいこう2015/06/08(月) 19:08:06.46
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
数式とか高度な質問では無くてスイマセン
あるセルを選択した際に、説明文がポップアップするような書式を作りたいと思います。
Excel2010だと、メニューバーにあるアイコンにマウスカーソルを合わせると
ヘルプと説明文がポップアップで表示されますよね? ああいったものを作りたいのです。
「校閲」の「コメントの挿入」では無く、吹き出しみたいなオブジェクトの中に文字が表示されれば・・と思っています。
宜しくお願いします。
0477名無しさん@そうだ選挙にいこう2015/06/08(月) 19:26:54.55
>>476
やめて大人しくコメントにした方がいい。かなり大変
VBAが必須で、流れとしては
シェイプ(画像)を大量に作る
シェイプとセルを関連付け
SheetSelectionChange()イベントで、シェイプの表示/非表示を切り替える

アホらしいコードなので誰も書かないと思う。本当にやめておいたほうがいいぞ
0478名無しさん@そうだ選挙にいこう2015/06/08(月) 19:31:01.06
>>467
>>466=>>445-447のどれでもないんだけど、どう判断したんだ?
ちなみに、おれは>>466
あと、>>471の証明が小中レベルとは思えないんで、小中レベルの説明もよろしく
0479名無しさん@そうだ選挙にいこう2015/06/08(月) 19:39:40.54
>>477
シェイプは1つで、イベント発生時のアクティブセルを元に内容、サイズ、位置をごにょごにょすればいいんでない?
VBAでコメント追加、削除する方が楽なのは同意。
0480名無しさん@そうだ選挙にいこう2015/06/08(月) 19:41:28.99
>>479
確かにソッチのほうがいいね
考えるのもめんどくさくなってたわ
>>478
熱くなりすぎ。もう放置でいいよ
0481名無しさん@そうだ選挙にいこう2015/06/08(月) 20:36:14.45
なるほど 答えは必ずおなじになるんだな 俺が小中レベルだったようだ すまんかった
0482名無しさん@そうだ選挙にいこう2015/06/08(月) 22:07:48.33
これ変わらないの明らかだという意味で小学生でもわかると書いたつもりなんだが
0483名無しさん@そうだ選挙にいこう2015/06/09(火) 10:45:35.63
B1からB2までの合計が奇数なら、c1 = 1

If sum(range(b1:b10)) Mod 2 = 1 Then
[c1] = 1

上のでやってみましたが赤字エラーになります
正しい式お願いします (- -)
0484名無しさん@そうだ選挙にいこう2015/06/09(火) 10:46:37.87
× B1からB2まで
○ B1からB10まで でした
0485名無しさん@そうだ選挙にいこう2015/06/09(火) 10:49:08.04
>>483
http://www.moug.net/tech/exvba/0100035.html
こんな感じ
0486名無しさん@そうだ選挙にいこう2015/06/09(火) 14:05:51.93
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

テーブルで以下のような表を作りました。
「受験者」―「数学」―「国語」―「理科」―「社会」
Aさん―97―80―76―87
Bさん―86―90―81―85
Cさん―77―94―85―79
各行(受験者)ごとの最高得点を書式設定で色付けする為に
条件付き書式の「上位/下位ルール」を使って
受験者ごとに得点のセル(1さんの97-80-76-87)を範囲指定し上位1を色付け
という設定にしたところ、その行は正しく処理されたものの
最下部でテーブル行を追加した際に条件付き書式が
それまでのテーブル再下段と追加された再下段の2行に渡って設定されてしまうので
行を追加する度に条件付き書式を設定し直さないといけなくなっています。
これを、テーブル行を追加した際に
1行毎にちゃんと範囲設定されるようにするにはどうすれば良いでしょうか?

条件付き書式ルールの管理で見ると、
最下段の適用先が「=$B$4:$E$4」だったのが、
テーブル行を追加する事で「=$B$4:$E$5」になってしまいます。
これを、行追加時に自動的に「=$B$5:$E$5」となるようにしたいのです。
0487名無しさん@そうだ選挙にいこう2015/06/09(火) 14:10:42.28
>>486
書式の範囲はExcelが勝手に変える
そのルールの変更はできない
自分で修正するしかない
0488名無しさん@そうだ選挙にいこう2015/06/09(火) 14:16:16.89
>>486
indirectを使う

=$B$5:$E$5
は
=indirect("$B$5:$E$5",1)
と同じ
で、この5をrow()等に置き換える
=indirect("$B$"&row()&":$E$"&row(),1)
エクセルが手元にないので試してないけど、多分うまくいくと思う
いかなかったらゴメン
0489名無しさん@そうだ選挙にいこう2015/06/09(火) 14:31:22.93
条件付き書式の適用先に
「=indirect("$B$"&row()&":$E$"&row(),1)」
を入力してみたところ、決定した時点で
自動的に「=$B$5:$E$5」に変換されてしまいました。
結果はうまくいきませんでしたが、助言ありがとうございました。
0490名無しさん@そうだ選挙にいこう2015/06/09(火) 14:49:47.54
ワロタ。
確認せずに言ってしまって申し訳ない。
0491名無しさん@そうだ選挙にいこう2015/06/09(火) 15:05:17.39
得点の入力されてるセル範囲を選択して、アクティブセルが一番左上の状態で、
(左上からマウスで範囲選択したら勝手にそうなる)
条件付き書式に式で
=max($B2:$E2)=B2
この例だと、B2が左上のセル、B〜E列に得点データが入力されてる想定
04924832015/06/09(火) 17:44:11.72
>>485
ありがとうございます

If WorksheetFunction.Sum(a1, a4) Mod 1 Then 

これワークシート関数使わず if sum 〜 ではできないのですかね・・
0493名無しさん@そうだ選挙にいこう2015/06/09(火) 18:17:14.02
>>492
オブジェクトが必要になる
setかwiThを使って
Sub a()
Set b = Application.WorksheetFunction
Debug.Print (b.Sum(Range("a1:b2")))

With Application.WorksheetFunction
Debug.Print (.Sum(Range("a1:b2")))
End With
End Sub

どっちかの方法でみじかくけあrけるtyご
0494名無しさん@そうだ選挙にいこう2015/06/09(火) 18:25:21.52
んなことするくらいなら、
function sum(paramarray rng()) as long
とか書いたら?
予約語だったらsum2とか違う名前で。
0495名無しさん@そうだ選挙にいこう2015/06/09(火) 18:30:43.03
あぁいいかもねぇ
0496名無しさん@そうだ選挙にいこう2015/06/09(火) 19:49:53.10
>>491
ご教示いただいた式でいけました。
助かりました。
ありがとうございました。
0497名無しさん@そうだ選挙にいこう2015/06/09(火) 22:31:24.00
セルのスタイルがいつの間にか5000個くらいあって、
簡単なVBAで一気に削除したけど、消せないのが500個くらい残った
手動で消そうにも、カーソルを合わせた瞬間にウィンドウが閉じる

こいつをどうにかして消したいんだけど、何かいい方法ある?
0498名無しさん@そうだ選挙にいこう2015/06/09(火) 23:49:58.88
>>497
ファイルをアップしてもらうのが一番だけど・・・気合でvbaでやるけど
ま一番手っ取り早いのはメモ帳にペーストしてもっかいコピー
またはxlsなど下位互換にするか、googleスプレッドシートにコピーしてエクスポートか
スタイル次第
0499名無しさん@そうだ選挙にいこう2015/06/10(水) 00:22:24.86
windows8.1 64bitでoffice professional2013(64bit)を使用するようになってから、特にマクロが書いてあるブックを操作しているときに、頻繁に動作を停止するようになりました
ノートパソコンとデスクトップパソコン両方とも似たような症状です
home and business2013(64bit)のときは一切なかったのですが、64bit版のpro2013と8.1では相性が悪いのでしょうか。
0500名無しさん@そうだ選挙にいこう2015/06/10(水) 02:22:33.84
>>497
最終手段はxlsxをzipで展開して、名前忘れたが、styleがxml形式で書いてあるファイルがあるので、テキストエディタでその部分を削除。zip圧縮しなおして、xlsxに拡張子変えたら完了。
0501名無しさん@そうだ選挙にいこう2015/06/10(水) 09:41:37.30
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

列Aに種類を入力し、列B以降のその種類に対応したセルを
指定したいのですがどうすれば良いでしょうか?

例としては、以下のような感じです。
「売上リスト」
[種類]-[りんご]-[キャベツ]-[みかん]-[バナナ]-[白菜]
[__]-[100]-[80]-[120]-[70]-[50]
↑ここに入力する文字列が「果物」ならそれに該当するりんご、みかん、バナナのセルを選択
「野菜」と入力すればキャベツ、白菜のセルを選択
というようにし、それらのセルの合計や最大値等を計算したいのです。
0502名無しさん@そうだ選挙にいこう2015/06/10(水) 09:51:48.01
>>501
そもそも、まず、そのリストの作り方自体がアホだな。

1からエクセルの基礎を勉強してきたまえ。ここはそういうトリッキーで無意味な
ことを教える場所ではない。
0503名無しさん@そうだ選挙にいこう2015/06/10(水) 10:22:15.38
>>502
出来ないなら黙ってなさい
出来る人が答えればいいのですよ
0504名無しさん@そうだ選挙にいこう2015/06/10(水) 11:04:51.03
>>501=>>503
教えてもらう立場の癖に上から目線で横柄な奴だな
0505名無しさん@そうだ選挙にいこう2015/06/10(水) 11:08:57.68
ゆとり世代に多い傾向
金払ってないのに教えてもらう
金をもらいながら教えてもらう
これらを、金払いながら教えてもらうのと同じように考える
0506名無しさん@そうだ選挙にいこう2015/06/10(水) 11:11:32.49
>>504
ID表示されないので証明する事はできませんが>503は別人です。
0507名無しさん@そうだ選挙にいこう2015/06/10(水) 11:31:28.34
>>503
お前に仕切られる理由はねぇよ三流のカス。
0508名無しさん@そうだ選挙にいこう2015/06/10(水) 11:44:06.84
>>507
むしろ仕切ろうとしてるのは>>502
0509名無しさん@そうだ選挙にいこう2015/06/10(水) 11:59:04.55
仕切り仕切られふりふられ
0510名無しさん@そうだ選挙にいこう2015/06/10(水) 14:06:58.76
>>501
G3に
=IF(A3="","",IF(A3="果物",B3+D3+E3,IF(A3="野菜",C3+F3,"")))
0511名無しさん@そうだ選挙にいこう2015/06/10(水) 18:15:41.93
>>510
いけました。
ありがとうございました。
0512名無しさん@そうだ選挙にいこう2015/06/10(水) 18:51:58.16
>>500
あ、それ良さそう
zipに戻す部分がうまくいくかどうかが鍵だけど、
その技術はいろいろ応用が利きそう
0513名無しさん@そうだ選挙にいこう2015/06/10(水) 21:51:19.64
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

セルA1にif関数やmax関数などで算出した数値が表示されている状態で
セルA2にセルA1が算出した数値の元のセル番号を参照するにはどうすれば良いでしょうか?

例えば、セルB1〜E1に数値が入力されていて
A1の関数によってC1の数値が算出されたとして
セルA2で、セルA1の数値からC1を参照できるようにしたいのです。
0514名無しさん@そうだ選挙にいこう2015/06/10(水) 21:54:06.00
>>513
よく分からんけどindirect()は使えないか
0515名無しさん@そうだ選挙にいこう2015/06/10(水) 22:04:11.10
fomulatextでぐぐれ
0516名無しさん@そうだ選挙にいこう2015/06/10(水) 22:26:37.10
>>514
>>515
説明不足で申し訳ありません。
例として、B1からE1に
[10]-[30]-[20]-[15]
の数値が入力されていて、A1に「=max(B1:E1)」を入力したとします。
その場合、A1にはC1の「30」が表示されますが、
A2に、A1で算出された「30」の元となるC1セルの列番号「C」を参照したいのです。

>514
indirectを使って色々試してみたのですが、
算出された値は使えてもそのセル番号を参照する事ができず困っています。

>515
fomulatextをぐぐってみたのですが、
これを使うと例で言う「=max(B1:E1)」が文字列として参照されるのは理解しました。
ここからどうすれば良いのでしょうか?
0517名無しさん@そうだ選挙にいこう2015/06/10(水) 22:52:44.44
>>513
何がしたいかよくわからんけど
=CHAR(65+MATCH(MAX(B1:E1),B1:E1,0))
0518名無しさん@そうだ選挙にいこう2015/06/10(水) 23:24:03.06
>>517
ありがとうございます。
例ではB1〜E1としたのですが、実際には列AA以降も使う事になります。
=CHAR関数で列AA以降の指定はどうすれば良いのでしょうか?
0519名無しさん@そうだ選挙にいこう2015/06/11(木) 00:10:50.25
>518
http://www.relief.jp/itnote/archives/003721.php
このへん見て頑張ってー
今日は寝ます
0520名無しさん@そうだ選挙にいこう2015/06/11(木) 04:30:06.87
>>513
よく判らんが?
A2 =SUBSTITUTE(ADDRESS(1,MATCH(A1,B1:E1,0)+1,4),1,"")
って事?
0521名無しさん@そうだ選挙にいこう2015/06/11(木) 10:10:39.97
excel2010で、セルに設定している太字、斜体、下線が勝手に外れてしまうのですが、原因は何が考えられますか?
0522名無しさん@そうだ選挙にいこう2015/06/11(木) 10:16:19.94
>>521
原因としてマクロ、条件付き書式、コピペ、クエリ、保存形式、小人さんあたりはすぐに思い付く

今知ったけど、ATOKは「こびと」が変換できないんだな、めんどくせえ
0523名無しさん@そうだ選挙にいこう2015/06/11(木) 10:54:50.14
>>522
情報有り難うございます。
問題は無さそうなのですが、起動するPCによって事象が起きる様子。EXCELのバージョンは同じなので、各PC毎の設定の問題なのかな。
0524名無しさん@そうだ選挙にいこう2015/06/11(木) 11:40:11.96
>>522
そういう下らないことやるんで、最近はATOK買わなくなったよ。
Google IMEで十分。
0525名無しさん@そうだ選挙にいこう2015/06/11(木) 15:13:46.49
>>523
フォントがインストールされてないとか?
0526名無しさん@そうだ選挙にいこう2015/06/11(木) 17:13:24.92
>>525
フォント(本当)ですか?
0527名無しさん@そうだ選挙にいこう2015/06/11(木) 18:58:01.82
>>521
セルの一部の文字だけ設定しても簡単に外れるし
csvはそもそも設定が保存っされないし
原因が多すぎてファイル見ないと分からん。
で、大体こんなしょーもないことかよって言うのがいつものパターン
>>526
爆笑したwww
はぁ・・・
0528名無しさん@そうだ選挙にいこう2015/06/11(木) 18:59:24.13
Windows7
Excel2010

写真やら図形やらを入れたシートで、行削除と一緒に
これらの図形も削除するにはどうすればいいですか?
0529名無しさん@そうだ選挙にいこう2015/06/11(木) 23:00:04.78
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ(ほんの少し)
【4 VBAでの回答の可否】 可

ファイルを開かないでBook2.xlsxのSheet1の
空白セルが存在するL列の一番最後のセルの値を取得して、
開いたBook1.xlsxのSheet1のB2に自動で貼り付けるには、
どういったマクロを組めばいいでしょうか。
0530名無しさん@そうだ選挙にいこう2015/06/11(木) 23:11:30.67
>>529
http://officetanaka.net/excel/vba/tips/tips28.htm
マクロ4.0を使うらしい
flg = false
for i = 1 to 65535
if ExecuteExcel4Macro("'C:\[Book1.xls]Sheet1'!R"& i &"C12") <>"" then
gyo = i
end if
next
cells(2,2) = ExecuteExcel4Macro("'C:\[Book1.xls]Sheet1'!R" & gyo & "C12")

こんな感じか
マクロ4.0はいつ廃止になるかわからないし、open使ったほうがいいんでね?と思うけど、まぁおこのみで
0531名無しさん@そうだ選挙にいこう2015/06/11(木) 23:29:08.83
>>529
ファイルを開かないでファイルの中身を取り出せと?
「では捕まえますから虎を屏風絵から出して下さい」
05325292015/06/11(木) 23:39:49.44
>>530
解答、ありがとうございますm(_ _)m
早速、明日会社で試してみます!
0533名無しさん@そうだ選挙にいこう2015/06/11(木) 23:44:29.64
>>532
いや今めっちゃテキトーに書いたからエラー出まくるぞ
家で頑張った方がいい
会社でPCとにらめっこするHENTAIになるぞ
0534名無しさん@そうだ選挙にいこう2015/06/12(金) 08:31:15.97
挿入→グラフを書こうとすると動作を停止することが頻発するんですがにたような人います?
0535名無しさん@そうだ選挙にいこう2015/06/12(金) 09:32:33.19
ますん
0536名無しさん@そうだ選挙にいこう2015/06/12(金) 12:51:22.29
グラフ挿入をするとブック全体に再計算命令が発動するのが原因だな
もし嫌ならマクロで自動更新を禁止するしかない
手動計算設定も意味がない
0537名無しさん@そうだ選挙にいこう2015/06/12(金) 20:18:51.18
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ(ほんの少し)
【4 VBAでの回答の可否】 可
Book2に以下のMacroを組んで、Book1からデータを持ってきます。

Sub DEV()
Range("C6") = ExecuteExcel4Macro("'C:\fix\[book1.xlsx]sheet1'!R46C12")
End Sub

そこで、C6に当たる部分(今日の日付のセルと同じ行)が
Cells.Find(what:=Format(Now, "m/d")).Offset(0, 2).Activate
46に当たる部分が
Cells(Rows.Count, 12).End(xlUp).Select
にしたいのですが、変数というか、どのように入力すればよいか分かりません。

どのようにすればいいですか。

>>530
ちょっと固まりました(汗 でもありがとうございました
0538名無しさん@そうだ選挙にいこう2015/06/12(金) 22:28:07.88
macro4前提だと回答者少なくなりそうな気もする
とりあえず俺は無理だ
0539名無しさん@そうだ選挙にいこう2015/06/12(金) 23:55:39.42
>>536
win7ならそんなことないのにwin8だと頻発するんですよね
困りました
0540名無しさん@そうだ選挙にいこう2015/06/13(土) 00:30:42.07
>>537
左辺を
Cells.Find(what:=Format(Now, "m/d")).Offset(0, 2)
46に当たる部分は
Cells(Rows.Count, 12).End(xlUp).Row
にして、あとは文字列を&でつなぐだけ
0541名無しさん@そうだ選挙にいこう2015/06/13(土) 00:31:10.34
>>538
よく見ろ
質問はMacro4とか完全に無関係だから
05425372015/06/13(土) 04:07:07.43
>>540
左辺はうまくいきましたが、
46に当たる部分がよくわかりませんでした。
!R46C12のところの記述を教えていただけないでしょうか。

申し訳ありませんが、よろしくお願いします。m(_ _)m
0543名無しさん@そうだ選挙にいこう2015/06/13(土) 07:29:30.37
よくわからないけど
"'C:\fix\[book1.xlsx]sheet1'!R" & Cells(Rows.Count, 12).End(xlUp).Row & "C12"
じゃないかな?
05445372015/06/13(土) 09:37:00.08
なんとか解決しました。

Cells(Rows.Count, 12).End(xlUp).Row や Range("L1048576").End(xlUp).Row だと
なぜか L1 の値になってしまうのです。
ttp://okwave.jp/qa/q6516638.html ←ここを見つけて成功したのが以下の方法です。

Sub DEV()

Dim appExcel As Object
Dim EE As Long
Set appExcel = GetObject("C:\fix\Book1.xlsx")
EE = appExcel.Worksheets(1).UsedRange.Find("*", , xlFormulas, , xlByRows, xlPrevious).row
Cells.Find(what:=Format(Now, "d")).Offset(0, 2) = ExecuteExcel4Macro("'C:\fix\[book1.xlsx]sheet1'!R" & EE & "C12")

End Sub

色々とありがとうございました。m(_ _)m
0545名無しさん@そうだ選挙にいこう2015/06/13(土) 14:01:16.94
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 申し訳ない程度に
【4 VBAでの回答の可否】 可

さーせん諸先輩方お知恵を拝借させて下さい
Excel2010で列数が300程度行30000程度なのですが、
そのうちセルに同じ色がつけられたものがあります。
その色がついたセルを含む行をフィルターの詳細設定を使って取り出したいのですが、
条件をどう指定いいのかわかりません
詳細設定で色を条件にすることは出来ないのでしょうか?
VBAを使用する方法以外ないのでしょうか?
0546名無しさん@そうだ選挙にいこう2015/06/13(土) 14:15:17.31
>>545
補足ですみません
色のついたセルは同じ列にあるとは限りません
ほとんどランダムな位置にあります
0547名無しさん@そうだ選挙にいこう2015/06/13(土) 15:53:00.52
>>545
=color(対象セルアドレス)= "RED"
0548名無しさん@そうだ選挙にいこう2015/06/13(土) 18:13:46.61
>>548
ありがとうございます。
しかし、対象セルアドレスに対象データの全範囲を指定して、上記の式を詳細設定の条件範囲に指定したらエラーになりました。
VBAで使用するってことでしょうか?
理解不足ですみません。
0549名無しさん@そうだ選挙にいこう2015/06/13(土) 18:15:15.41
547でした。。。
0550名無しさん@そうだ選挙にいこう2015/06/13(土) 18:21:16.71
>>545
俺も興味あって調べてみたら、マクロ4.0を使って名前の定義をするそうな
でも、色付きフィルターとテキストフィルターの併用じゃいけないの?
0551名無しさん@そうだ選挙にいこう2015/06/13(土) 18:52:35.83
>>531
エクセルで開かない という条件ならいけるんじゃね?
0552名無しさん@そうだ選挙にいこう2015/06/13(土) 19:10:06.17
>>545
オートフィルタって色でも抽出できたのね〜
でもvbaでしか無理っぽい
作業列に1とか書いて作業列でオートフィルタでいいんじゃない

Sub a()
Cells.AutoFilter
col = 5 '列数
r = 10 '行数

For k = 1 To r
For i = 1 To col
If Cells(k, i).Interior.Color = RGB(255, 255, 0) Then 'color
Cells(k, col + 1) = 1
End If
Next
Next
ActiveSheet.Range(Cells(1, 1), Cells(r, col + 1)).AutoFilter Field:=6, Criteria1:=1
End Sub
0553名無しさん@そうだ選挙にいこう2015/06/14(日) 20:56:08.89
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

入力した数値を単精度浮動小数点数に丸める方法を探しています。
とりあえずA1へ入力した値を単精度に丸めてA2に表示すれば十分です
0554名無しさん@そうだ選挙にいこう2015/06/14(日) 21:22:47.54
自己解決しました
スレ汚し失礼しました
0555名無しさん@そうだ選挙にいこう2015/06/15(月) 16:31:50.86
こういうエクセルシートを作るにはどうしたらいいでしょうか?
タグと書かれた右のセルの演算子を知りたいんですが、検討つきますか?

ttp://fotopota.blog.so-net.ne.jp/2015-06-02
0556名無しさん@そうだ選挙にいこう2015/06/15(月) 18:43:31.08
>>555
http://stamp-uploda.com/src/file162.jpg
こんなかんじかと
0557名無しさん@そうだ選挙にいこう2015/06/15(月) 18:44:48.55
>>555
文字列連結なら & じゃないですか?
件数の定まっていないデータを全て連結する方法はマクロ以外に思いつかないですけど
0558名無しさん@そうだ選挙にいこう2015/06/15(月) 19:34:48.29
>>556

うーん、成る程。

IF文で選別して、あえて、Tempセルつくって、,をつけておいて、後は連結ですね。

>>557

マクロはよくわからなくって・・・。
0559名無しさん@そうだ選挙にいこう2015/06/15(月) 20:09:42.56
>>557

件数の定まってないデータをすべて連結させる方法は、演算子だけじゃダメですね。
0560名無しさん@そうだ選挙にいこう2015/06/15(月) 20:37:50.44
>>558
画像のtmpは作業列っていうんだけど、これは普通のことだよ。
あと意味のない改行やめて頂戴
0561名無しさん@そうだ選挙にいこう2015/06/15(月) 22:21:28.20
>>555 VBAだとこんな感じ。以下をシートのマクロに書いてやってみてください
Option Explicit
Dim 基準位置 As Range, 横ピッチ As Integer, 項目数 As Integer, 行数 As Integer
Dim c As Range, tate As Long, yoko As Integer, タグ内容 As String
Sub ex555()
 Set 基準位置 = Range("A3") ' 基準位置はデータ先頭行の場所欄の1を入れるところのセル位置
 横ピッチ = 2        ' 横ピッチとは、項目が2列から構成することを示す
 項目数 = 9         ' 項目数とは、場所〜雰囲気の項目数
 行数 = 22
 タグ内容 = ""       ' 初期値設定ここまで
 For yoko = 0 To (項目数 - 1) * 横ピッチ Step 横ピッチ
  For tate = 0 To (行数 - 1)
   Set c = 基準位置.Offset(tate, yoko)
   If c.Value = 1 Then タグ内容 = タグ内容 & c.Offset(0, 1).Value & ","
  Next tate
 Next yoko
 If Len(タグ内容) > 1 Then タグ内容 = Left(タグ内容, Len(タグ内容) - 1)
 Range("A1").Value = "タグ = " & タグ内容 ' A1セルに出力
End Sub
05625612015/06/15(月) 22:31:45.78
補足説明です
基準位置は、>>555で示されたサイトの画像でいうと「海、海岸、砂浜〜」のセルの
左隣のセル位置になります。(項目見出しの方ではありません)
行数は、「人物の特徴」項目など一番データ行が多いところに合わせます。前述の
画像でいうと「鏡、手鏡〜」まで何行分あるかということです。
(エクセルのシート上の○行目までの意味ではありません)
0563名無しさん@そうだ選挙にいこう2015/06/15(月) 23:01:17.43
>>562
おお、それっぽく走りました。ありがとうございます
0564名無しさん@そうだ選挙にいこう2015/06/15(月) 23:41:07.74
2ちゃんのログから「サプリメント」って文字がタイトルに入るスレッドのみを抽出してExcelにリストしたいんだけど、どうすればいいの?

毎日検索かけてチェックするの疲れるから自動化したい
0565名無しさん@そうだ選挙にいこう2015/06/16(火) 01:35:17.24
>>564
vba覚えよう
板一覧取得→板取得→スレ取得
あとはfornextでぐるぐるまわせば簡単。鯖移転とかめんどくさいけど、まぁ頑張れば何とかなるだろう

もしくはここのソールを取得してテキトーに処理すればいいと思う
http://sirtuin.me/index.php?word=%E3%82%B5%E3%83%97%E3%83%AA%E3%83%A1%E3%83%B3%E3%83%88
0566名無しさん@そうだ選挙にいこう2015/06/16(火) 01:35:31.43
ソールってなんだ、ソースな
0567名無しさん@そうだ選挙にいこう2015/06/16(火) 04:08:59.26
スレタイ検索って今はできなくなったん?
0568名無しさん@そうだ選挙にいこう2015/06/16(火) 09:05:20.37
VBAで range の()の中がマイナスとかになっちゃう場合
例えば

For x = 1 To 10
Range("a" & 5 - x) = なんたら

なんて場合はどうすればエラーを回避できますか

If Range("a" & 5 - x) Is Nothing Then

てやってみたんですが駄目でした
0569名無しさん@そうだ選挙にいこう2015/06/16(火) 09:42:15.68
>>568
if 5-x<1 then
でいいのでは?
0570名無しさん@そうだ選挙にいこう2015/06/16(火) 10:05:37.35
ああなるほど

動作しました
ありがとうございました
0571名無しさん@そうだ選挙にいこう2015/06/16(火) 14:59:27.36
>>568-570

どっちかってーと
If x < 5 Then
のほうが分りやすくないか?

さらにいうと今回みたいに変数xの変動幅が最初から分りきってるなら
For x = 1 to 4
にしとけば条件判断など不要になる

もちろん、1から10までのループで他の処理もやってるなら
条件判断を入れて分岐させる必要がでてくるけどさ
0572名無しさん@そうだ選挙にいこう2015/06/16(火) 21:06:24.31
 Office 2003では、Visual Basic Editorのほかに、Microsoft Script Editorというものも
あるけど、あれって何だ?何に使うんかいな。
 図書館で「Excel 2003 オフィシャルマニュアル」で調べてみたけど、どうやら載ってるが
存在しないようだったし。
 そして、バージョンが2007、2010、2013では、この機能がなくなってるようだし。

 このScript Editorとやらいう謎のツールを使ったことある人っているか?
0573名無しさん@そうだ選挙にいこう2015/06/16(火) 21:08:17.24
どうやら載ってるが存在しないようだったし。
           ↓
どうやら載ってるページが存在しないようだったし。
0574名無しさん@そうだ選挙にいこう2015/06/16(火) 23:51:40.58
>>572
https://msdn.microsoft.com/ja-jp/library/cc377132.aspx
HTML+officeの開発環境らしい
一生使うことはないだろうから忘れたほうがいいよ(忘れてもいいじゃない、忘れた方がいい)
05754762015/06/17(水) 15:41:43.58
>>477>>479
そうですか、やっぱり手間がかかるんですね
遅くなりましたが、ありがとうございました
0576名無しさん@そうだ選挙にいこう2015/06/19(金) 21:01:56.44
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

ゲームの今回の得点をC列に、そのうち最高点をE列に入れてるシートがあります。
んで、C列の今回の点がE列のそれを上回っていたらそれで更新できるようにしたいと
思ってるんですが、

=if(c10>e10,c10,e10)
とすると、循環参照に関する警告
と出て、出来ないみたいんですけど、何か上手い案ありませんか?
0577名無しさん@そうだ選挙にいこう2015/06/19(金) 21:29:20.14
>>576
http://www.dotup.org/uploda/www.dotup.org376204.xlsx.html
a列なくてもいい
bは入力
cは作業列
dは実際に判定する列

口下手だからうまく言えないけど、
テーブルはこういうふうに組んだらいいよ、ということなの
05785762015/06/19(金) 22:10:57.30
>>577
言葉足らずですいません。
↓があって亀なら亀でのポイント、龍なら龍でのポイントなんです。
したがって、例えば亀で今回のポイントに700が入ったら、E列がそれで更新出来たらってこと
なんですが


http://www.dotup.org/uploda/www.dotup.org376286.jpg
0579名無しさん@そうだ選挙にいこう2015/06/19(金) 23:43:00.41
無理
05805762015/06/20(土) 00:03:20.87
やっぱり無理ですかね。w
諦めます
0581名無しさん@そうだ選挙にいこう2015/06/20(土) 00:06:05.45
>>578
数式だけでやるなら別の場所に取得ポイントの一覧表作って
そこから抽出すればいい

その表だけで完結するならVBA必要
0582名無しさん@そうだ選挙にいこう2015/06/20(土) 10:45:03.93
VBAで、a列にコード番号、b列に品目
aかbのセルの上で選択してクリックすると「実行しますか/OK」のボタン
OK押すと命令を実行

たったこんだけのこと書くのに朝からああでもないこうでもない
すいません答え教えてください(泣
0583名無しさん@そうだ選挙にいこう2015/06/20(土) 11:07:34.10
>>580
レイアウトを工夫し、セルのデータを書き換えないようにすればいい
0584名無しさん@そうだ選挙にいこう2015/06/20(土) 11:08:08.17
>>582
「セルの選択」と「クリック」は別なの?
0585名無しさん@そうだ選挙にいこう2015/06/20(土) 11:26:03.98
>>552
遅くなりましたが、ご丁寧なご回答ありがとうございました。
全てのセルをサーチして、指定した枠塗色のセルがあったら作業列に値を入れて、
その作業列でフィルターをかけるという考え方ですね。
作業列に任意の値を書き込むという使い方を勉強させて頂きました。
こういう考え方をすぐに思いつくって貴殿がとてもうらやましいです。。。
0586名無しさん@そうだ選挙にいこう2015/06/20(土) 11:28:12.72
>>582
商品登録したいの?
05875822015/06/20(土) 11:34:48.81
>584
別にどちらでも
書きやすい方で
0588名無しさん@そうだ選挙にいこう2015/06/20(土) 11:40:48.56
>586
商品が1万ほどありまして
選択した内容を別のシートに転記して計算
それは出来るのですがその前の部分で苦労してます
0589名無しさん@そうだ選挙にいこう2015/06/20(土) 11:41:04.03
>>587
何をやりたいのか、質問が微妙にわかりにくいんだけど、手順としては

(1) セルを選択
(2) 何かをクリック
(3) OKボタンを押す

でいいの?
05905872015/06/20(土) 11:58:07.52
私が書いてエラーになってるコードですが

If Range(BかA列のどれかのセル).Activate Then
i1 = Target.Row
i2 = Range("a" & i1).Value
i3 = Range("b" & i1).Value
Worksheets(1).Activate <- シート1へ転記
Worksheets(1).Range("a1").Value = i2
Worksheets(1).Range("b1").Value = i3
End If

問題点
即実行じゃなくてボタン入れたい
なぜか無限ループする ifじゃ駄目なのか・・
「○列のどれかのセルをクリックすると・・」の記述がわからない

です
0591名無しさん@そうだ選挙にいこう2015/06/20(土) 12:16:42.00
>>590
「セルのクリック」は、Excelにそういう機能がないから、無理ではないけどかなりめんどくさいよ

めんどくさくても「セルのクリック」にこだわるか、もっと簡単な別の方法に変えるかはあなた次第
0592名無しさん@そうだ選挙にいこう2015/06/20(土) 13:48:04.92
>>590
>即実行じゃなくてボタン入れたい
MsgBox 関数を使う

>なぜか無限ループする ifじゃ駄目なのか・・
終了しないのは「Activate Then」のせい

>「○列のどれかのセルをクリックすると・・」の記述がわからない
↓のサイトにサンプルファイルがある
http://www.relief.jp/itnote/archives/013874.php
05935872015/06/20(土) 15:00:38.09
a = Selection.Value
b = Selection.Row
c = Selection.Column
d = MsgBox("実行する", vbOKOnly)
If d = 1 Then
Worksheets(1).Activate
Worksheets(1).Range("a1").Value = a

でいけました
ありがとうございました
0594名無しさん@そうだ選挙にいこう2015/06/21(日) 01:01:47.70
vbaでevalみたいなコードはありますか?
eval("cells(1,1).value=123")
のように文字列をコードと解釈して実行したいのです1
0595名無しさん@そうだ選挙にいこう2015/06/21(日) 14:19:22.09
1ブック1シートのファイルが複数あって、それらのシートを新規の1ブックにコピーしてまとめたいのですが、
簡単にやる方法があったら教えてください。
0596名無しさん@そうだ選挙にいこう2015/06/21(日) 14:32:30.57
>>595
ファイルが10個程度なら手作業でコピペが一番早い
50個以下ならマクロを使いたいところだけど、初心者はコピペで我慢
50以上なら絶対にマクロを使う、初心者なら自分でやろうとせずにマクロが使える人を探す
0597名無しさん@そうだ選挙にいこう2015/06/21(日) 14:51:40.63
>>595
マクロを覚えてマクロの記録で頑張る
0598名無しさん@そうだ選挙にいこう2015/06/22(月) 11:05:31.97
あの、すみません・・・質問が

セルのコメントってやつは
・そこにマウスカーソルを乗せるとコメント表示
・ずっといつでも表示
っていうのがデフォルトで選べると思うんですが

マウスカーソル関係なくそのセルを選んでいる時
(矢印キーやタブ・エンターキーでの移動でそのセルにキャプション(?)が合っている時)
にだけコメントが出るようなことはVBAとかでできますでしょうか

このキーワードでググれとかあったら教えてください
0599名無しさん@そうだ選挙にいこう2015/06/22(月) 12:38:22.96
すいません、質問です。
現在Win8,エクセル2013で商品データの管理を行なっています
データ総数は7万強なんですが、フィルタで商品区分ごとにブックをわけて、その各ブック内で個別の商品ごとの個数と区分ごとの総数を数えようとしました

それで、まず一つ目のブックでCountA関数でブックの商品データ総数を算出後、CountIF関数で各商品数を集計、さらにそれらをSumで合計したのですが、合計値がデータ総数を上回ってしまいました。以降のブックも同様です

原因および解決策をご教授頂きたいです
0600名無しさん@そうだ選挙にいこう2015/06/22(月) 13:10:31.83
>>599
商品名に対しCountIFの条件に問題があるんじゃ?
0601名無しさん@そうだ選挙にいこう2015/06/22(月) 15:34:51.17
>>600
式は「CountIF(A:A,"商品名")」という感じの単純な式です
商品区分の総数にしても「CountIF(B:B,"商品区分")」(商品区分は区分ごとに割り振られた数字を入力)
というもので、どちらも齟齬が出るほどおかしな計算はしていないと思うのです
0602名無しさん@そうだ選挙にいこう2015/06/22(月) 19:27:19.20
>>598
>>476が近い
https://msdn.microsoft.com/ja-jp/library/office/ff837368.aspx
のイベントでオートシェイプのひょうじ/非表示の切り替えと文字列の変更すればok
>>601
ブックと計算式見ないと分からん。サンプル見せて欲しい
あと見る前に最初に言っておくと、バグではなく計算式の間違いだよ
0603名無しさん@そうだ選挙にいこう2015/06/22(月) 20:41:32.16
>>602
一応企業情報なのとスマホからなんでまんまは貼れないです。代わりにやった手順と打ち込んだ式を以下に

A列が商品名(うまい棒、リポビタンD、スーパーカップetc)それが7万強
B列が商品区分(順番に数字が振られてる。例えば飲料は2、お菓子は9とか)これも商品と同数

今回に関して言うと区分でフィルタかけて飲料を表示後にB列全体に対してCountIF(B:B,"2")かけた(飲料の区分ばんこは2なんで)らこれがまぁ、仮に5000ぐらいだったとします(ちなみにこれはフィルタ時の表示データ数通知と一致)

それからA列全体に対してCountIF(A:A,"伊右衛門")で集計、その後その式を下にずっとコピーして、""の中身をリポビタンDやら六条麦茶やらに変えて集計
最後に集計結果をSumのドラッグ&ドロップで集計したらその結果は5200になりました、といった感じです
0604名無しさん@そうだ選挙にいこう2015/06/22(月) 20:50:35.53
>>603
本気で解決したいならPCからサンプルファイル上げるかスクリーンショットでもいいから貼って
めんどくさい
0605名無しさん@そうだ選挙にいこう2015/06/22(月) 20:51:10.14
フィルタ中にオートフィルしてデータダブってるとかそんなんじゃないの
0606名無しさん@そうだ選挙にいこう2015/06/22(月) 21:27:47.35
>>599です
これは今ぶっつけで作ったサンプルファイルですけど、質問に上げたファイルでやった操作と計算式はこれとまったく同じです。違うのはデータ総数と細かいデータ名だけ
このファイルで言うところの「総数」と「計」の右の数値が会社の方のファイルでは、「計」の数値が「総数」の数値を上回っていました
https://drive.google.com/file/d/0Bz9d1FpAvTV1NkZubzlfM2RkdnM/view?usp=sharing
0607名無しさん@そうだ選挙にいこう2015/06/22(月) 21:54:50.89
CountIF(A:A,"伊右衛門")とかが重複してない?
重複チェックしてますか?
0608名無しさん@そうだ選挙にいこう2015/06/22(月) 22:01:40.06
グラフでの系列の編集についての質問です。
シート名、設定B5のセルにはグラフの範囲設定したい最終行が入っており(関数で導いた値)
系列値に  
="グラフデータ!$B$3:$B$"&設定!$B$5 
と入力したのですが、エラーとなります。
説明下手で申し訳ございませんが、分かる方教えてくださいm(__)m
0609名無しさん@そうだ選挙にいこう2015/06/22(月) 22:10:02.36
excel2013なんですが
Sub test()
For Each sa In CreateObject("Shell.Application").Windows
If TypeName(sa.document) = "HTMLDocument" Then
Set ie = sa
ie.Navigate "http://xxx.co.jp";
Exit For
End If
Next

これでなぜか

実行時エラー '-2147024726 (800700aa)':
Navigate メソッドは失敗しました IWebBrowser2 オブジェクト
と出るようになりました。
ついこの前まで使えたのに。

でデバッグを押すと

ie.Navigate "http://xxx.co.jp";

ここの部分が黄色くなるんですけど。
これつまりどうしろってことなんですかね?何が原因でこうなるんですか?

んー。本当に使い物にならないよなぁ。
困るなぁ。
なんでこんなゴミツール売るのかなぁ。こんなんじゃ何もできないってのに。
こういう頭悪いツールって本当に困るよなぁ。
0610名無しさん@そうだ選挙にいこう2015/06/22(月) 22:20:26.05
>>609
IEのアドオンを追加とか削除するとオブジェクトの挙動が変わるけど、何か心当たりない?
0611名無しさん@そうだ選挙にいこう2015/06/22(月) 22:48:57.33
>>607
重複チェックは多分してないです

でも、一体どういう原理で重複するんですか?
0612名無しさん@そうだ選挙にいこう2015/06/23(火) 01:59:07.56
>>607
単純なヒューマンエラーは考えられませんか?
CountIF(A:A,"伊右衛門")という数式自体がヒューマンエラーの元だから
作業列を使うか条件付書式でチェック機能が無いと使い物にならない
本来は、"伊右衛門"の代わりに重複を除いたA列の値を使った数式にすべき

それとは別に、単純な入力ミスの対策も必要
A列商品名のタイプミスやアクエリアス 1 等の誤入力を防ぐ為に
対応表と比べたり、B列は入力せずVLOOKUPで求めるとか
0613名無しさん@そうだ選挙にいこう2015/06/23(火) 04:27:47.69
>>611
リポビタン
六条
アクエ
リポビタン

みたいに同じ商品が出てきている可能性
重複チェックして
0614名無しさん@そうだ選挙にいこう2015/06/23(火) 04:36:04.74
>>609
多分これ
http://nanameue-news.com/2014/07/27/312/
無理なら
オートメーションエラー vba ie
でぐぐって上から順に対処

もしこれが原因なら作ってる会社は悪くないからサラスのはよしてあげて
簡単に言うとこんなバージョンアップ知るかよって内容。adobeや他のソフトでも不具合出まくってる
0615名無しさん@そうだ選挙にいこう2015/06/23(火) 06:45:25.99
>>612 の補足
>CountIF(A:A,"伊右衛門")という数式自体がヒューマンエラーの元だから
>作業列を使うか条件付書式でチェック機能が無いと使い物にならない
>本来は、"伊右衛門"の代わりに重複を除いたA列の値を使った数式にすべき

606のファイルに次式を設定し下にコピーしてみて下さい
G2 =IF(A2<>"",IF(COUNTIF($A$2:A2,A2)=1,A2,""),"")
H2 =IF(G2<>"",COUNTIF(A:A,G2),"")
0616名無しさん@そうだ選挙にいこう2015/06/23(火) 06:52:33.32
>>611
検索値の種類数を求めてCOUNTIFの計算式の数と比較してみたらどうだろう

種類数を求めるだけなら、SUMとCOUNTIFの組み合わせで可能だし

そして、式の数の方が検索値の種類数より多ければ重複が存在しているってことだから
0617名無しさん@そうだ選挙にいこう2015/06/23(火) 09:12:29.14
よろしくお願いいたします。
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

仕事で週報をまとめているワークシートなのですが、週1でタブを作り保存していました。
現在、2年弱分、5MB程度で100近いタブ(週)があります。
当然のように徐々に重くなっているのは気づいていたのですが、
先週分のタブを作った途端、メモリーのエラーが出て表示がおかしくなってしまいました。
保存して開きなおすと正常に戻りはしますが、すぐにおかしくなってしまいます。

とりあえず2013年分のタブを削除して、若干はファイルサイズが小さくなったのですが、
編集しているとまた表示がおかしくなってしまいます。

毎週のデータを串刺し演算しているので、できるだけタブは減らしたくありません。
ただ、減らしたとしてもメモリー占有量は減らないようにも見えます。

ファイルをスリム化(デフラグや再編成のようなイメージ)する方法は無いものでしょうか?
現在、使っているのはExcel2000ですが、現行のOfficeも使用可能です。

よろしくお願いいたします。
0618名無しさん@そうだ選挙にいこう2015/06/23(火) 09:37:47.23
Windows7 Excel2010を使っています。

Excelで 「ファイル」 → 「添付ファイルとして送信」の際に
ブラウザを立ち上げてGmailで送信することはできないでしょうか?


http://menushowdelay.blog.fc2.com/blog-entry-1562.html

方法はあるみたいなのですが、
昔のフリーウェアを使うようですが、既に無くなっております。

他に方法をご存知の方がいらっしゃったら教えて下さい。
0619名無しさん@そうだ選挙にいこう2015/06/23(火) 09:38:42.26
>>617
まず、タブでそんなもの作るのを辞めろ。
0620名無しさん@そうだ選挙にいこう2015/06/23(火) 11:51:41.17
>>617
いずれ破綻します。どうあってもシート大量に作るのは普通に重くなります。
残念ですが作り直しをおすすめします

slsxにすればいくらかマシになるかも
0621名無しさん@そうだ選挙にいこう2015/06/23(火) 11:51:53.15
slsx→xlsx形式
0622名無しさん@そうだ選挙にいこう2015/06/23(火) 11:59:50.27
>>618
vba メール gmail
でぐぐれば出てくるよ。vbaで頑張れ
0623名無しさん@そうだ選挙にいこう2015/06/23(火) 12:07:20.95
>>618
mailto gmailで検索すりゃいい。

そもそもVBAなんか使う必要性すら無い。
0624名無しさん@そうだ選挙にいこう2015/06/23(火) 12:24:07.15
>>617
新規シートにコピペすると内容そのままでも多少は軽くなる
せめて1年ごとに別ファイルに分ける
ファイルが分かれてても集計は可能だから
0625名無しさん@そうだ選挙にいこう2015/06/23(火) 12:58:57.09
>>620,621
 そうですね。破綻するのは目に見えているので、1年区切りのファイルにしようかと思ってます。
 xlsxは最近のバージョンですね。試してみます。
>>624
 とりあえず、前週までのファイルからコピペするってことですね。
>>619
 アプリを作るより便利なのでExcelを使ってるわけですので、急にはやめれないですね。

 先の質問にも書きましたが、再編成するツール、方法ってないものでしょうか?
 (ちょっと未練がありますw)
 たぶん無駄な部分がかなりできていると思いますので。
0626名無しさん@そうだ選挙にいこう2015/06/23(火) 13:11:01.85
>>625
新規ブックに全シートを単純にコピペするだけのマクロなら「マクロの記録」の改編でなんとかできるレベル
シート数がたった100かそこらで、使うのも1回限りだろうから効率とかメンテとか考えなくていいし
0627名無しさん@そうだ選挙にいこう2015/06/23(火) 21:14:18.75
【1 OSの種類         .】 Windows 7 HE64
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 初心者

A列からC列までをまとめて順番に結合したいです。
(A1:C1)までを選択→Ctrl押しながら(A2:C2)を選択→Ctrl押しながら(A3:C3)を選択・・・
をずっと繰り返して、最後に結合を押して結合しています。

けどデータ量が膨大で手作業だと時間がかかりすぎてしまうので
もう少し楽できる方法はないでしょうか?

形式を選択して貼り付け(書式)だと何故かできなくて…
VBAだと簡単なコピペぐらいしかできませんが
どうかアドバイスお願いします。
0628名無しさん@そうだ選挙にいこう2015/06/23(火) 21:19:30.06
>>627
&は?
0629名無しさん@そうだ選挙にいこう2015/06/23(火) 21:23:42.72
>>627
えへへー今日は酒のんで気分がいいからコード書いてやるぜ
もうちょっと待ってな
0630名無しさん@そうだ選挙にいこう2015/06/23(火) 21:32:38.91
>>627
うわーびっくりだ!こんなコードが生まれたよ?
Sub Macro1()
a1 = InputBox("列数、最初は何列目(数字で)") * 1
a2 = InputBox("列数、最後は") * 1
a3 = InputBox("行数、最初は何行目(数字で)") * 1
a4 = InputBox("行数、最後は") * 1
For i = a3 To a4
Range(Cells(i, a1), Cells(i, a2)).Select
Selection.Merge
Next

End Sub

よかったねー
0631名無しさん@そうだ選挙にいこう2015/06/23(火) 21:40:29.92
>>627
レンジを複数選択して結合すると、選択した短形ごとに結合されるのか。
知らなかった。どっかで役に立ちそう。

で、>>627は、リボンの設定からユーザ定義リボン作って、
「横方向に結合」ボタン追加すればいいよ
0632名無しさん@そうだ選挙にいこう2015/06/23(火) 22:22:44.05
>>609
Navigate2
を使えば良いと思うよ。
ただね、外部のIE操作は結構難しいよ。
OSのバージョン、IEのバーション、オフィスのバーション、32ビット/64ビット等いろいろ絡むしね。
会社のイントラとかで認証基盤とか使ったら、セッションも意識する必要があるし。
買ってきた(作らせた)ツールなら、動作保証環境を意識して使わないと厳しいね。
0633名無しさん@そうだ選挙にいこう2015/06/23(火) 23:59:02.63
>>632
webkitコントロールでも使えばいい。
0634名無しさん@そうだ選挙にいこう2015/06/24(水) 05:50:01.45
>>631
ありがとうございます、こんな便利なボタンあったのですね…
助かりました。
0635名無しさん@そうだ選挙にいこう2015/06/24(水) 06:01:18.15
>>628-630もありがとでした。
0636名無しさん@そうだ選挙にいこう2015/06/24(水) 08:50:02.25
>>625
では、手段の1つを教える。

まず、帳票のレイアウトになるシートを1枚用意する。
そして、各項目に入るデータを単純なレコード形式でシートを1枚用意して、
そこに必要なカラムを用意して格納する。

帳票レイアウトのシートにはボタンを3つ、抽出用のセルかテキストボックス
1つは、全クリアボタン。入力項目だけをクリアする機能だ。
1つは、入力したデータをデータシートにレコード形式で追加する機能(IDは日付にでもしておけばいい)
1つは、抽出用の日付欄に日付を入れて抽出する機能

抽出用の日付欄にはカレンダーコントロールを使うとベスト。できれば値の存在する
日は色が変わるようにVBAで仕込んでおくと最高だ。
こうすれば、タブなんかで管理する必要もないし、さらに言えば、古いExcelであっても65000日
分のデータを格納できる。ムダもないし、重くも成らない、ファイルサイズも軽量。

単なるワードの代わりみたいな使い方するのは関心できないな。
0637名無しさん@そうだ選挙にいこう2015/06/24(水) 08:53:25.15
>>626
そういう手がありましたね!
・・・でも、長いことマクロやってないから大変そうw
0638名無しさん@そうだ選挙にいこう2015/06/24(水) 08:53:28.87
>>625
それと番外編だが、そこまで既にデータがあるなら、Accessで
作りなおしてしまうのも良い。
0639名無しさん@そうだ選挙にいこう2015/06/24(水) 13:41:14.19
当日から月末までの日数を出力する関数はありますか?
0640名無しさん@そうだ選挙にいこう2015/06/24(水) 14:07:28.25
>>639
翌月1日を求めて、当日を引き算したらどうだろう?
それなら簡単に出来るっしょ?
0641名無しさん@そうだ選挙にいこう2015/06/24(水) 14:08:45.26
>>639
=EOMONTH(TODAY(),0)-TODAY()
0642名無しさん@そうだ選挙にいこう2015/06/24(水) 14:51:50.36
>>640
>>641
おかげで出来ました。ありがとです。
0643名無しさん@そうだ選挙にいこう2015/06/25(木) 00:22:20.78
ご質問で書き込みをします。
excelにボタンをつけてvlookupの検索範囲で連続印刷を行いたいのですが、
色々なサイト見てもちんぷんかんぷんです。
助けてほしいと思っています。
やりたいこと
番号をセルに打ち込む(開始と終了)
↓
ボタンを押す。
↓
印刷

のようなものです。どなたかお知恵を貸してください。
0644名無しさん@そうだ選挙にいこう2015/06/25(木) 00:36:27.39
>>643
ちんぷんかんぷんと言われても回答者は君の実力がちんぷんかんぷんだ

印刷をマクロの記録で改変すればいいだけだと思う
実力が低いうちは一気にやろうとせず、
「印刷マクロ」「ボタンでmsgbox()発動マクロ」「ボタンで印刷するマクロ」
と段階を踏むといいと思う

あとボタンはactiveXじゃなくフォームを使い、書く場所は標準モジュールな
これを間違わなければその内正解にたどり着けるだろう
0645名無しさん@そうだ選挙にいこう2015/06/25(木) 08:30:34.68
>>643
君みたいなウジ虫には、ワードの差し込み印刷がお似合いですよ。
0646名無しさん@そうだ選挙にいこう2015/06/26(金) 12:02:00.34
質問です・・・。

エクセル(Googleスプレッドシートも)で作業していると、
途中から「元に戻す」ボタンが使えなくなってしまいます。

どこをいじればいいのか・・・。
ご存知の方ご教示お願い致します。
0647名無しさん@そうだ選挙にいこう2015/06/26(金) 12:47:19.44
ファイルを上書き保存したら、戻せないぞ
と言ってみる
0648名無しさん@そうだ選挙にいこう2015/06/26(金) 13:00:34.99
昔のexcelだとオートフィルタ関連を挟んでも戻せなくなってたな
0649名無しさん@そうだ選挙にいこう2015/06/26(金) 13:02:46.27
マクロ動かしてもだめだな
0650名無しさん@そうだ選挙にいこう2015/06/26(金) 13:04:59.28
ctl+z は?
06516462015/06/26(金) 13:21:05.93
ご意見ありがとうございます。

色々試して調べて見てますが
直りません・・・。
0652名無しさん@そうだ選挙にいこう2015/06/26(金) 13:42:36.20
20手ぐらいまでしか戻せないはず
0653名無しさん@そうだ選挙にいこう2015/06/26(金) 13:52:02.30
時刻をオートフィルした場合一つ一つ手で入力した時刻とは誤差が出るようだけど誤差なしに簡単に入力するにはどうすればいい?
たとえば10分増加の場合=TIME(0,10*(ROW(A1)-1),0)とすればいいと書かれてるサイトがあるんだけど
=A1=B1の場合はTRUEでも=A1-B1=0でFALSEになるものが出てくるんだけど
MATCHでも#N/Aになるようだし
0654名無しさん@そうだ選挙にいこう2015/06/26(金) 14:52:04.17
>>653
原因は
小数誤差
でぐぐって

ずらさないようにするには、作業列を使って
秒単位などの整数でマッチングなどさせればいいと思う
0655名無しさん@そうだ選挙にいこう2015/06/26(金) 15:30:04.97
>>653
オートフィルしたあと全体をメモ帳にコピペ、もう一度ワークシートにコピペで1秒未満の端数が手入力と同じ値になる
数式や作業列を使うより簡単
0656名無しさん@そうだ選挙にいこう2015/06/26(金) 15:57:40.56
>>654-655
少数誤差なのは分かってるよ
なるほどメモ帳でのコピペが簡単そうだな
いいこと聞いた
いろいろぐぐったら編集→フィル→連続データの作成を勧めてるとこあるけどこれは誤差が出て駄目だな
数式ではTEXT関数の方法も見つけたけどこれは誤差はないようだ
0657名無しさん@そうだ選挙にいこう2015/06/26(金) 18:14:21.99
【1 OSの種類         .】 Windows7 Home
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

基本的に使うフォントのサイズを基本設定のところで10にしているんですが、
↓
http://www.dotup.org/uploda/www.dotup.org387281.jpg

新しくブックを作成するして(エクスプローラーのなにもない所で右クリック→
Mucrosoft Excelワークシート)見ると
↓
http://www.dotup.org/uploda/www.dotup.org387284.jpg

フォントのサイズが11になってます。これを10にするにはどこを見れば
いいんでしょうか?
0658名無しさん@そうだ選挙にいこう2015/06/26(金) 18:28:26.60
>>657
右クリック→新規の場合は、既に用意されてる空白ブックがコピーされてくる
コピー元はC:\Windows\ShellNewフォルダに入ってるから、それを編集すれば初期状態を好きなように変更できる
新規なのにデータが入ってたりマクロが入ってたり、Excelのオプションでは設定できないことも可能
0659名無しさん@そうだ選挙にいこう2015/06/26(金) 19:05:05.13
>>658
そういう仕掛けになってるんですか。ありがとうございます
0660名無しさん@そうだ選挙にいこう2015/06/27(土) 15:57:20.56
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

A1セルに黒と赤のフォントの文字列が入っていて
黒のフォントの文字数だけをカウントしてB1セルに個数を表示したい
例えばA1に
「1,1,1,1,1」が入力されており
一つ目の1と5つ目の1が黒で残りが赤の場合B2セルに2と表示させたいです
0661名無しさん@そうだ選挙にいこう2015/06/27(土) 16:54:16.23
>>660
文字の色を判定するのはVBAを使わないと無理だし、けっこう難しい
とりあえず「黒っぽい」色の文字を数えるようにしてみた
あと、B2はB1の間違いだよね?

Sub Macro1()
  With Range("A1")
    For i = 1 To Len(.Text)
      C = .Characters(Start:=i, Length:=1).Font.Color
      R = C Mod 256
      G = C \ 256 Mod 256
      B = C \ 65536
      If R < 20 And G < 20 And B < 20 Then BK = BK + 1
    Next i
  End With
  Range("B1") = BK
End Sub
0662名無しさん@そうだ選挙にいこう2015/06/27(土) 17:39:24.91
>>661
わざわざありがとうございます
Font.ColorIndexで色々考えてましたが俺には無理だったので助かりました
だがRGBで色を判定してるのはわかるが俺が馬鹿だから数式の意味がわからん
ちょっと考えてみます
0663横から失礼2015/06/28(日) 19:01:54.87
>>662 RGBの数字で指定する件の解説はここ↓がわかりやすいかも
http://officetanaka.net/excel/vba/graph/25.htm

それと気になったのは>>660の「1,1,1,1,1」の件
カンマも含めてすべて文字として扱うので、判定したい対象が何なのか
はっきりした方がいいと思います。
例題では1ということでしたが、カンマ","は色判定の対象外ってことですか?
また、カンマで区切られた文字は1文字単位の判定ですか?
0664名無しさん@そうだ選挙にいこう2015/06/28(日) 19:31:06.03
ご親切にありがとうございます
ご指摘通りカンマは色判定の対象外だったので、>>661で教えていただいたコードを少し変更し
if関数とmid関数で、色判定の前にカウントさせないように除外し使用しました。
RGBの変数に入れる式は考えてもわからなったので、Font.colorではなくFont.ColorIndexを使用し
C=1 or C = -4105として個数をカウントさせました。

教えていただいたサイトを見るとRGBの変数代入式の意味が分かりそうなので
貼っていただきありがとうございました
0665名無しさん@そうだ選挙にいこう2015/06/29(月) 12:26:26.63
価格.comの複数の製品を「詳しく比較する」にチェックして出てきた表を
うまくExcelに貼り付けてそれを印刷して近くの店に買い物に行きたいんです。

うまくExcelに貼り付けてそれを1枚か数枚のA4にうまく印刷する方法はありますか?
写真がはみ出たり、文字列が不自然に複数行にまたがったりと、とても見にくいんです。
0666名無しさん@そうだ選挙にいこう2015/06/29(月) 13:17:05.60
>>665
→ファイル
→印刷
→設定の一番下
(拡大縮小なし)を(すべての列を1ページに印刷)を選択 
0667名無しさん@そうだ選挙にいこう2015/06/29(月) 13:31:32.98
>>666
そんなのないですが。どこにありますか?ちなみにExcel2007です。
0668名無しさん@そうだ選挙にいこう2015/06/29(月) 14:02:39.40
>>667
2007の場合は
→ページレイアウト
→横1ページ
0669名無しさん@そうだ選挙にいこう2015/06/29(月) 21:35:34.24
あぁ、2010からか、挿入 範囲で別画面のスクショすぐ貼れるようになったのは
地味に便利だわ あれ
0670名無しさん@そうだ選挙にいこう2015/07/01(水) 07:47:20.75
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 不可
【4 VBAでの回答の可否】 不可

VLOOKUP関数で、検索値が見つからなかった場合、
その検索値をそのまま表示させたいのですが、どんな方法がありますか?

見つかったものは、その値に置き換えて、見つからなかったものは、検索値のままで表示、のような感じにしたいです。
よろしくお願いします。
0671名無しさん@そうだ選挙にいこう2015/07/01(水) 08:35:32.86
>>670
iferror(vlookup(kensakuti...),kensakuti)
0672名無しさん@そうだ選挙にいこう2015/07/01(水) 10:55:41.28
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否
PowershellからCOMでExcelを動かしたいんですが、
Excelの「検索と置換」を外部から使うことってできますか?
ブック全体に置換処理するのを自動化したいので、これが使えると便利なのです。
0673名無しさん@そうだ選挙にいこう2015/07/01(水) 10:58:58.27
VLOOKUPのVってなんですか?ばーちかる?
じゃあHLOOKUPのHは?はいと?
0674名無しさん@そうだ選挙にいこう2015/07/01(水) 11:07:40.21
verticalが分かってるのに、horizontalが出てこないとか、ネタとしか
0675名無しさん@そうだ選挙にいこう2015/07/01(水) 11:30:08.51
>>673
ググれクズ野郎♪
0676名無しさん@そうだ選挙にいこう2015/07/01(水) 13:59:31.45
>>667
まだわかんないの?
06776732015/07/01(水) 15:30:23.36
ホライズンにそんな活用形があったのか
なんかこうHで始まってタテ方向・・・みたいに考えて
Heightが出てきたわ
0678名無しさん@そうだ選挙にいこう2015/07/01(水) 16:38:13.11
ホイミ ベホイミ ベホマ ベホマズン のように
ホラ ホリ ホライ ホライズン だ
0679名無しさん@そうだ選挙にいこう2015/07/02(木) 09:57:57.65
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 ほとんど使えません・・・
【4 VBAでの回答の可否】 可

グラフの質問です!

データテーブルってやつを使うと値が表に入ってスッキリするんだけど
値じゃなくて項目名、っていうのかな
日本語的なやつのほうなんですがこれが長いんです
(株)うんたらかんたら とか (有)ほにゃららカンパニー とか並んでて・・・
それらが長いと幅をすごくとってしまってグラフがスッカスカに見えるんです

テーブルを使わない時はそこを縦書きにしてたんですが
テーブルの状態のままそこだけを同じように縦書きにすることってできませんか?


ググってみたら
「元データで一文字ずつ改行したら縦書きになるで(ドヤァ)」とかありましたけど
カッコとか長音記号(「スーパー」の間にある横棒)とかがひどいことになってしまいまして・・・
0680名無しさん@そうだ選挙にいこう2015/07/02(木) 11:48:30.89
グラフのX軸 フォント 90°とか、 所詮グラフなんだから略称で済ますとか
若いんだからもっと頭柔らかく
06816792015/07/02(木) 11:51:14.63
ゴメンナサイ・・・もうちょっとググってきます
0682名無しさん@そうだ選挙にいこう2015/07/02(木) 13:26:00.74
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
例えば、A1〜A8にそれぞれ
125、100、63、214、1000、22、1325、101の数字が入っていたとして、
A2(100)が、A1〜A8の中で「何番目に小さい数字か」を調べる関数は無いでしょうか?
0683名無しさん@そうだ選挙にいこう2015/07/02(木) 13:29:44.94
small()
0684名無しさん@そうだ選挙にいこう2015/07/02(木) 13:35:54.41
>>683
ありがとうございます
06856792015/07/02(木) 14:55:58.88
すみませんギブアップです・・・
どなたか解決方法わかりませんか?
0686名無しさん@そうだ選挙にいこう2015/07/02(木) 15:16:29.91
横向き棒グラフでいいんじゃにあの
06876792015/07/02(木) 15:26:50.03
つまり不可能ってことですか・・・?
0688名無しさん@そうだ選挙にいこう2015/07/02(木) 15:43:58.47
綺麗に見せるとかバランスよく見せるとかは人によって合格点が違うので
具体的にどうしたいか教えてくれないと誰にも分からん
別に

ス
ー
パ
ー

でも俺は気にしないし
06896792015/07/02(木) 15:54:52.24
会社関係のものですし社名がそんなのでは合格以前に問題です・・・
具体的に「縦書き」にすることは不可能なのでしょうか?

それと後付けになってしまい恐縮ですが
この時のこの縦書きにしたい内容なんですが
どれも中央揃えになっていまして
見た時に文字数の短い社名はグラフまで少し遠く・・・
これらを上端揃えにはできないでしょうか?
0690名無しさん@そうだ選挙にいこう2015/07/02(木) 16:02:38.98
>>689
というか>>680が答え言ってくれてるの、気付いてなかったのか
「フォント 90度」でぐぐって
@MSP〜みたいな内容が答え
0691名無しさん@そうだ選挙にいこう2015/07/02(木) 19:08:22.42
>>677
馬鹿は死ぬといいよ。
0692名無しさん@そうだ選挙にいこう2015/07/02(木) 19:09:05.94
>>685
90°
0693名無しさん@そうだ選挙にいこう2015/07/02(木) 19:32:05.98
実際にやってみりゃわかるがそのフォントじゃひどいことになるぞ

ターャジス

みたいなことになる
元々こうやってヨコに書いてるのを縦に見せるものだから
90度ってのは反時計回りに傾くんだ

で
、
改
行
し
て
縦
に
書
い
た
も
の

を反時計回りに回すと・・・
0694名無しさん@そうだ選挙にいこう2015/07/02(木) 19:40:50.32
縦書きフォントを立てに配置するのは言わんでも分かるだろ、と思ったが書いたほうが良かったか
まぁいいか
0695名無しさん@そうだ選挙にいこう2015/07/02(木) 20:10:51.36
どっちにしろ俺も含めてここの連中にも解決できんものはいくらでもある
とっととあきらめろ>>689
0696名無しさん@そうだ選挙にいこう2015/07/02(木) 20:36:14.25
INDEXを多用すると、リソース消費が激しくなるとかありますか?
OFFSETを多用して範囲を指定していた表を少しでも軽くしようと揮発性関数ではないINDEXに切り変えたところ急にリソース不足表示が増えまして

もしかして、INDEX関数は、揮発しない代わりに処理そのものの負荷は重いんでしょうか?
0697名無しさん@そうだ選挙にいこう2015/07/02(木) 21:47:46.89
>>696
揮発性の主なデメリットは「計算回数が多くなる」事。
リソース不足は「計算量が多すぎる状態」で起こる

いくらindexに変えても、参照範囲が大きくなったり、ネストが増えてしまうとリソース不足を引き起こす
どっちが重いかは、分からない。数式はもちろん、バージョンによって変わる可能性がある。
あなたの環境で、vbaで100万回ぐらい再計算した時の時間で比較すると良い

というかvbaが使えるならvbaで処理するとほぼ100%の場合で軽くなるからvba覚えればいいと思う
0698名無しさん@そうだ選挙にいこう2015/07/03(金) 06:23:55.14
>>697
VBAを覚えるしかないってことですか
事前に大目に計算式用意して対応している部分だけでも
DO LOOPとかいうのを使えば計算式を減らせそうとかは思いますが
いまいちよくわからないでいます

なんにせよ、ありがとうございました
0699名無しさん@そうだ選挙にいこう2015/07/03(金) 08:09:48.46
数式の見直しで改善できる可能性も高い

短い数式や作業列使わない事に拘ると弊害もある
0700名無しさん@そうだ選挙にいこう2015/07/03(金) 08:15:55.85
>>689
出してる回答も読めないような馬鹿は社会人不合格ですよ。
消え失せろ。
0701名無しさん@そうだ選挙にいこう2015/07/03(金) 08:16:58.14
>>698
覚えるしか無い

じゃなく、覚えるなんて当たり前のことだ。アホか
07026792015/07/03(金) 09:12:43.00
おはようございます
結局不可能ということなんでしょうか・・・?
@のついたフォントも試してみましたが向きが反対でダメでした
0703名無しさん@そうだ選挙にいこう2015/07/03(金) 10:31:09.40
>>702
お前には無理 って結論でてるだろww
07046792015/07/03(金) 10:32:58.33
vbaでもいいので解決できるのなら教えてください
お願いします!
0705名無しさん@そうだ選挙にいこう2015/07/03(金) 10:47:13.52
>>609です。

>>610
ありがとうございます。全くないです。
全く同じ設定なのに、こうなるんです。

>>614
ありがとうございます。
保護モードにチェックは入ってるんですけど、>>609みたいなエラーがでました。

ちなみに1時間前にやったら普通にちゃんと稼働して、
15分前にやったらまたエラーが出て
今やったらまた普通に稼働しました。

気まぐれなんでしょうか?何が原因なんでしょうかこれ。
他を全くいじってないのにです。
パソコンの調子とか、ネットなので接続先の調子とかなんでしょうか?

でぐぐっても書いてないんですよね。
同じような症状になった方もいるみたいですが。
なんなんですかねこれ?
なんでこんないい加減なんでしょうね。
せめてサポート側が説明してくれてもいいのに
0706名無しさん@そうだ選挙にいこう2015/07/03(金) 11:06:28.68
こういうプログラミングに詳しい人ってどうやって勉強したんですか?
大学や専門学校にでもいったんですか?
ツールを作ったり解析したり、本当にすごいと思います。
ネットで調べてもどこも説明がクソみたいにいい加減だし。
やっぱネットに載ってるだけのもので勉強は無理でしょうかね?

というか、プログラムって英語みたいな感じじゃないですか。
ちゃんと単語ごとに名詞や動詞みたいな使い方と、どういった時に使うかみたいな用例もあって
英語よりはるかに単語数は少ないでしょうけど
英語の場合辞書的なのがありますけど、こういうのはないんです?


全く理解してない初心者でも上達できるようになるようなページや参考書とかってないんですかね?
大学受験の数学でいう、チャート式みたいな
0707名無しさん@そうだ選挙にいこう2015/07/03(金) 11:16:07.95
やっててよかった公文式で勉強しました。
0708名無しさん@そうだ選挙にいこう2015/07/03(金) 11:16:39.42
ナントカ田中でも見とけ
0709名無しさん@そうだ選挙にいこう2015/07/03(金) 11:20:45.65
>>706
お前じゃ無理。
0710名無しさん@そうだ選挙にいこう2015/07/03(金) 11:48:53.61
>>704
解決はできる
>>690に書いてあるけどぐぐった?いろいろ出てくるから全部試して

>>705
気まぐれはありえないし原因は知らん。
多分32bitの古いPCなら動くと思うので、vmwareなどの仮想環境でwin98などを動かし、
そこで取得するのが一番手っ取り早いと思う

原因を知りたければ自分でvba勉強して解析すればいい。文句を言っても解決しない。あんたが困ってても俺は困らない
>>706
ネットの情報だけでできる。とりあえず目標を持つことが大事
・仕事で楽をしたい
・もっと色々できるようになりたい(ゲームを作るとか)
俺はゲームを作りたかったので、C++を一から勉強したよ。ゲームが完成する頃にはvbaなんてカスみたいなもんだった。
0711名無しさん@そうだ選挙にいこう2015/07/03(金) 11:57:42.58
>>710
オレもC++を勉強してゲームをつくりたい、その動機がそっくりなのですが、なにから勉強したらいいですか?
VBAはある程度できます。
0712名無しさん@そうだ選挙にいこう2015/07/03(金) 12:06:51.04
>>711
開発ツール Visual Studio express 2010か2013
ライブラリはDXライブラリが便利と思う
http://homepage2.nifty.com/natupaji/DxLib/

導入方法はこれ
http://homepage2.nifty.com/natupaji/DxLib/dxuse.html
勉強はここ
http://dixq.net/g/

C++の基本は
http://www.kumei.ne.jp/c_lang/
猫でも分かるC++プログラミングって本が分かりやすい

最初は環境設定だけで何時間もかかるけど頑張れ。
あとゲームプログラム板があるからそこに行くといいわ。
07136792015/07/03(金) 12:07:04.93
>>710
あのすみません、全部試せということは
つまり「@」がついたものは間違いで他を探すということでOKですか?
一応これでも急いでいるのでもっとヒントとか欲しいんですが・・・

それと専用のフォントをインストールみたいなのは勘弁してください
これ会社のパソコンなのでそういったことはたぶん難しいというか無理だと思います・・・
0714名無しさん@そうだ選挙にいこう2015/07/03(金) 12:13:28.02
あんたが急いでるかは俺には関係無いぜ
http://stamp-uploda.com/src/file331.jpg
配置の変更でできた。縦書きフォントいらないのな
07156792015/07/03(金) 12:19:26.76
>>714
あのすみません・・・それデータテーブル使われてますか?
0716名無しさん@そうだ選挙にいこう2015/07/03(金) 12:37:25.47
>>704
そもそも「縦書き」とはなんなのか
も
そ
も     ←これで理解できるだろうか? 一文字ずつ改行しているようなもの
「
縦     長音記号だって ー としかできない  Shift + \ で | を出してそれで代用するなんて方法もあるが
書     その場合は元データを 稲毛屋ス|パ| とする必要がある  例えば 1-38 を縦書きしようとしても
き      1
」      -
と      3
は      8       だ  不自然だろ?

だから九十度倒して、それで是としていることが殆ど  文頭が上側なら90°右 文頭が下側なら90°左 に倒す
でやったほうが百倍も見た目がマシ  でなければ稲毛屋SPなどと短縮するか  この場合も半角SPだと見苦しい
07176792015/07/03(金) 12:46:02.45
>>716
@つきのフォントはどれも左方向に90度倒れるみたいですが
右方向に倒す方法もあるのですか?
ググった時は専用のフォントのようなものが出てきましたが
それをインストールするわけにもいかず・・・

必要なのはグラフシートのほうだけなので長音記号を|にするのはOKなのですが
カッコにもカギカッコ「」ではなく丸カッコ()や大かっこ[]もあり
これらのカッコについても悩んでいる次第です

その上で、>>710さんは「できる」と言ってくれましたので期待しているのですが
やっぱり無理なのでしょうか・・・
0718名無しさん@そうだ選挙にいこう2015/07/03(金) 13:04:55.99
すまんw 2010ならグラフのX軸を上手に選択して(ともするとグラフエリアが選択されるので)
右クリック 軸の書式設定 それで出てきたダイアログの左列下端 配置 の中から 文字列の方向  だ
それでも半角英数は倒れたままだがな 日本語の − だの「」だの()だのは上手くいくようだった w
0719名無しさん@そうだ選挙にいこう2015/07/03(金) 13:12:30.39
ちなみに 680 だ @付きどうこうはおれのアドバイスじゃない 他の奴が言い出した
@付きは まるきし信用してないw  でも、これみると同様に改良されてるのかも・・
現物にあたりもしないで記憶だけに頼るのはやめることにしようっとw
07206792015/07/03(金) 13:23:10.79
あ、はいなんだか何度もすみません・・・

でもその右へ90度回転というのも、データテーブルにした途端設定解除というか
効果が反映しなくなるんです
データテーブルを解除して普通のグラフにしたらまた文字が右に傾いてくれるんですけど・・・
0721名無しさん@そうだ選挙にいこう2015/07/03(金) 13:41:01.39
会社のPCで業務中に2chとか見てんじゃねーよ すかぽんたんw
フォントは普通の使ってるか? @に頼るな 右に90° は妄想の回答だ
2010なら プレーンなデータのまま 718 のアドバイス通りやればできるハズ  後出しの [] もおkだ
714 のようにシートの中にグラフが貼り付いてるんじゃないのか?  んむ? 別シートで 挿入 −
グラフ で、後からデータの選択すると若干挙動が違うな・・ 別ブックを元データとしてみると・・・
うむ、別シートと似たような挙動だけど、再度X軸の書式設定で文字列の方向を 縦書き(半角・・
にしてみれば望む結果になると思うが  どうなんだ?
07226792015/07/03(金) 13:52:51.47
>>721
軸の書式設定ダイアログの 配置 ってところにある
文字列の方向(X) ですよね?
データテーブルにするとそこの設定が完全に無視されてしまうみたいなんですが
うまく反映させる方法はないですか?

「データテーブルをOFFにした状態であれば」縦書きにもなるし右90度にも倒れます・・・
データテーブルにした時点で「横書きの改行折り返し」のようなことになってしまいます・・・

それともこれ、うちの会社PCだけの挙動なのかな・・・
0723名無しさん@そうだ選挙にいこう2015/07/03(金) 14:31:09.45
なるほど、データテーブルかw 最初から書いてあったなw すまんな、何度も妄想の回答に付きあわせてww
そうなると、元データのセルで一文字ずつ改行したらそれらしく見えるようには成ったわw
(株) なら )←ここで改行 Alt + Enter すれば一文字っぽく見えるし�梶ゥ機種依存のこれ使うか・・
長音記号の − は | で応用できるけど、「」や[]はダメだ >>716 のような縦書きにしかならん
罫線の ┐ なら・・ と試してみたけど不自然過ぎるww  ー とかで逃げるしか途は無いかも
07246792015/07/03(金) 15:48:37.70
結局「データテーブルを使っている状態で」では縦書きは不可能なんでしょうか・・・
>>710さんもその辺りを見落としているのかも
0725名無しさん@そうだ選挙にいこう2015/07/03(金) 18:04:22.39
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

エクセル方眼紙の書類を見ただけけ拒否感が増して
仕事ができません・・・・
印刷されたものも見るのも嫌になってきました・・・・
どうしたら良いでしょうか・・・
0726名無しさん@そうだ選挙にいこう2015/07/03(金) 18:13:33.21
VBAでフォームデータにキー入力するにはどうすればいいんですか?

2chの場合

<textarea rows=5 cols=70 wrap=off name=MESSAGE></textarea>

これがレスのフォームですよね。
例えば
「ヤンバルクイナ」
って入れたい場合は
For Each 2ch In objIE.document.getElementsByTagName("textarea")
If 2ch.getAttribute("name") = "MESSAGE" Then
2ch.Value = "ヤンバルクイナ"
Exit For
End If

でいいんですよね?

これをヤンバルクイナって入れた後に、エンターキーを押してペンギンって手動で入れたい場合
つまり

「ヤンバルクイナ
 
 ペンギン    」

となるようにしたのですが
どうしたらいいでしょう?
brをつかえとか言われそうですが、あくまでキー入力で改行したりしたい場合です。
できるならペンギン(pengin)も。
0727名無しさん@そうだ選挙にいこう2015/07/03(金) 18:43:45.96
>>712
ありがとうございます。
さっそく猫シリーズの本を買ってみます。
教えてもらったサイトにも行って勉強します。
0728名無しさん@そうだ選挙にいこう2015/07/03(金) 23:51:17.08
>>725
それでその人の仕事が捗るならそれはそれでいいんじゃない?
な〜んの能力もない新人が規則を破って方眼紙状にしてるなら返させたほうがいいと思うけど

まぁそんなに気になるなら仕事やめたらいいと思う
お金を稼ぐ方法なんていくらでもあるよ
0729名無しさん@そうだ選挙にいこう2015/07/03(金) 23:54:41.01
>>726
inputboxでも使えば
0730名無しさん@そうだ選挙にいこう2015/07/04(土) 07:17:32.12
>>712
Expressなんかすすめてんじゃじぇよ。ド素人が。
Community版があるのに、馬鹿じゃねぇの?

パソコンオタクはお呼びじゃねぇんだよ。消えろ。パソコンオタクww
0731名無しさん@そうだ選挙にいこう2015/07/04(土) 09:08:51.79
>>730
ありが�d
こういうの出てたのか、未だに2008使ってたから知らなかったわ
0732名無しさん@そうだ選挙にいこう2015/07/04(土) 10:38:03.53
ITスキルのある頭のいい人からみると評判のすこぶる悪い「エクセル方眼紙の書類」。
わたしはそれに遭遇したことがないんですよね。
どなたか典型的な「エクセル方眼紙の書類」ってどんなものか
例でも写真でも実際のファイルでも、見せてくれませんか?
0733名無しさん@そうだ選挙にいこう2015/07/04(土) 10:48:23.27
Excelはレイアウト機能が貧弱なんだから方眼紙するのもしょうがないね
セル結合なんかしたら最悪だけど
0734名無しさん@そうだ選挙にいこう2015/07/04(土) 12:40:02.92
【1 OSの種類         .】 Windows8
【2 Excelのバージョン   】
【3 VBAが使えるか    .】 いえ
【4 VBAでの回答の可否】 否

エクセルを最近初めて使い始めました。質問です。

�@エクセルの本が書店に売ってますが基礎から全部が学べるHPってないんでしょうか
プログラムの教育HPだとVBとかjavaいろいろHPで間に合ってるのでありそうな気がしてます
WORDも知りたいです。ITの仕様書がかけるぐらいの低レベルの技術が欲しいです。
検索ワードを教え下さい

�Aエクセルのタブをつくっていくと20とかになってくると横に長くなっていき多すぎて管理ができません
タブをクリックしないでショートカットキーで次のタブが表示されるみたいな
紙の本をパラパラめくる感じで次のタブが見れるような操作はどうやればいいんでしょうか

�Bワードで左一覧に目次リストが表示され 右側に内容が表示
左のリストをクリックすると 該当のページにとぶ
っていうのを作りたいんですがどうやればいいですか?
0735名無しさん@そうだ選挙にいこう2015/07/04(土) 12:46:23.34
まぁ頑張れや
0736名無しさん@そうだ選挙にいこう2015/07/04(土) 12:52:02.29
何も知らない時点から全部学ぶとか無理 まずMOUS取得くらいでいいんじゃないの
07377342015/07/04(土) 13:23:09.63
>>736
プログラムは作ってるんで
関数とか多少はわかります。

つくろうと思った時にその作り方の機能が全部載ってるHPが欲しい状態です
0738名無しさん@そうだ選挙にいこう2015/07/04(土) 13:29:52.87
何を作るのか知らないが ヘルプじゃだめなの
0739名無しさん@そうだ選挙にいこう2015/07/04(土) 14:01:43.15
これもヘルプに載ってる

Ctrl + PgDn

ワークシートのタブを左から右に向かって順番に切り替えます。


Ctrl + PageUp

ワークシートのタブを右から左に向かって順番に切り替えます。
0740名無しさん@そうだ選挙にいこう2015/07/04(土) 14:21:20.40
ありがとう。ヘルプも読んでみます
タブが400個とかになったらどうやって管理してます?

多すぎて管理できないです
0741名無しさん@そうだ選挙にいこう2015/07/04(土) 14:26:18.38
シートは極力つくらない テーブルに入力して出力はピボット
0742名無しさん@そうだ選挙にいこう2015/07/04(土) 16:07:19.64
>>732
最近は、書き込み可能なPDFが普及しているから役所関係は大分減ったよ
印刷すること考えてない大きな表なんかが典型的かな
0743名無しさん@そうだ選挙にいこう2015/07/04(土) 16:18:46.03
>>741
ピボット検索しましたが意味側よくわかりません
ポップアップ画面みたいな感じですか?


自分の使い道は
リストで大量の項目をメモして、まとめタブにそれらの結果を書き込むみたいな感じです
それが100とかになっていくとどこに何を書き込んだのかわかりにくくなっちゃう状態

リスト
・ペットを連れて歩いている人がいる
・タバコを吸って歩いてる人がいる
・髪型が単発の人がいる

まとめ
ここの地域は、ペットを飼う人が多い
0744名無しさん@そうだ選挙にいこう2015/07/04(土) 16:35:32.92
なんだかよくわからないが シートを増やしたってわけわかんなくなるだけだよ
0745名無しさん@そうだ選挙にいこう2015/07/04(土) 16:49:54.46
森ウンチだなそりゃ
0746名無しさん@そうだ選挙にいこう2015/07/04(土) 18:45:58.55
>>732
http://image.itmedia.co.jp/im/articles/1107/21/si00.jpg
楽しそう
0747名無しさん@そうだ選挙にいこう2015/07/04(土) 18:50:26.71
>>743
ピボットテーブルはクエリみたいなもの

その作業をもう少し具体的に教えてもらえれば、エクセルの一般的にな使い方を教えてあげられると思う
・シートの構造
・リストは何シートか
・まとめは何シートか
・リストとまとめはどういう関係か
0748名無しさん@そうだ選挙にいこう2015/07/04(土) 18:57:24.46
数値で集計してないみたいだから単なるメモ代わりだろ Excelのスキルとは何の関係もない
0749名無しさん@そうだ選挙にいこう2015/07/04(土) 19:04:06.79
lispみたいだったから気になって。まぁ、一応だ
0750名無しさん@そうだ選挙にいこう2015/07/04(土) 19:48:04.08
昨日のグラフのデータテーブルを縦書き・・ のネタだが、VBAでも無理そうだったので
あんなことやこんなことして遜色ないものに仕上げることができた
ファイルうpでも文章で説明でもどっちでも可  必要ならレス返してくれたまぃ  できると豪語したおっちゃんと勝負w
0751名無しさん@そうだ選挙にいこう2015/07/04(土) 20:23:26.49
>>747
使い方はメモ帳です

>>748
そうです
ワードの方がいいんですか?
0752名無しさん@そうだ選挙にいこう2015/07/04(土) 20:42:59.99
>>751
エクセルの使い方が根本的に間違ってると思うよ
evernoteのほうがいいと思うよ・・・
PC・形態端末と連動できるメモ帳の鉄板
俺はサイボウズ使ってるけど、もう少し向いてるアプリを探すといいとお思う
0753名無しさん@そうだ選挙にいこう2015/07/04(土) 20:59:58.27
シート数が400とか、Excelの使い方を完全に誤ってるw
07546792015/07/04(土) 21:21:14.76
>>750
わざわざお手数かけていただいてすみません・・・
ですが家のPCにはExcelが入っていないのと
当然のように作業ファイルも会社PCにしか入っていないもので・・・
また月曜日にでもご教授ください
0755名無しさん@そうだ選挙にいこう2015/07/05(日) 09:21:14.65
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


質問したい内容はこんな感じです。
http://iup.2ch-library.com/i/i1461627-1436055507.jpg


関数の引数で「 ">=20.00" 」みたいな部分の20.00の数値の部分を
セル参照にしたいという希望です。
0756名無しさん@そうだ選挙にいこう2015/07/05(日) 09:23:44.31
>>755
">="&D31
0757名無しさん@そうだ選挙にいこう2015/07/05(日) 11:43:13.87
>>756

できました。ありがとうございます!!!
0758名無しさん@そうだ選挙にいこう2015/07/05(日) 21:48:29.59
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

同じのがあれば○無ければ×を表示させたい。

データ1
0701 1080
0701 2980 ○
0701 1080
0702 0216 ×
0703 7560
0703 7560

データ2
0701 2980
0701 2160←合算されてる
0703 7560←1個しかない

無理?
0759名無しさん@そうだ選挙にいこう2015/07/05(日) 23:42:40.55
出来る
ちょっと質問だけど0701はA列で1080はB列、○×を表示させるのはC列でいいのかと
データ1とデータ2は同じA列?
0760名無しさん@そうだ選挙にいこう2015/07/06(月) 08:50:29.13
【1 OSの種類         .】 Windows8
【2 Excelのバージョン   】 Excel2000?2003?
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
凄く変な質問で申し訳ないんですが、
セルの「条件付き書式」なんですが、
「条件に一致したら、罫線を引く」という条件付き書式は
2000でも使えましたっけ?
2003からでしたっけ?
2000以前から使えてたとするなら、どのバージョンからでしたっけ?

それと、「リスト」の範囲を、「INDIRECT」等で指定するのは
(例えばA8に「Z10:Z30」と書いてあって、INDIRECT(A8)としたらZ10〜Z30をリストにする機能)
2003からでしたっけ?
以前からできましたっけ?どのバージョンからでしたっけ?
07616792015/07/06(月) 09:06:38.82
>>750
おはようございます
お時間ある時でよいのでご教授お願いします
文章の説明でもファイルUPでもどちらでも構いません
0762名無しさん@そうだ選挙にいこう2015/07/06(月) 09:26:50.71
>>761
dotup.org/uploda/www.dotup.org402564.xlsx.html
DL パスは 0704 で   つか、フォントは入れられないけどDLは構わんのかw
グラフの機能の中の「データテーブル」では レイアウト内のラベルや軸、選択範囲 どれをいじっても
なんも変わらない と、なるとExcelの他の機能で賄うしか思い付かなかった

構造は、左上のデータおソース を、多分画面からハミ出てると思うけど右下へ行列変更して持ってってる
もちろんリンクさせとけばデータ変えればグラフも自在に変わる
その右下をコピーして「形式を選択して貼り付け」「形式を(以下ry 」で出てくる「その他の貼り付けオプション」
か? その辺使うとセル範囲が画像で貼り付けられるのであとはグラフサイズに合わせて微調整。。
  週末、自分にプギャ だったから30分だけがんばってみた
07636792015/07/06(月) 10:27:28.89
ありがとうございます
えーと会社のセキュリティ的な問題で
ファイル保存までならなんとかなりますが「インストール」は無理な感じでして・・・

これは・・・図のリンクがついてるんですね・・・なるほどです目からウロコ
これはこれで・・・あーでも元データで行の挿入とか削除とかは反映してくれないんですね
その辺は丸ごと手作業になりそうですけど・・・なんとかなるかも・・・
いやでも引用の計算式をROW()とかINDEXで組めばあるいは・・・うん・・・やってみよう・・・

ちょっとこれで一度頑張ってみます、ありがとうございました!
0764名無しさん@そうだ選挙にいこう2015/07/06(月) 10:50:33.27
>>758
> 0701 2160←合算されてる
> 0703 7560←1個しかない
意味判らないよ

○も?もない奴は何?
0765名無しさん@そうだ選挙にいこう2015/07/06(月) 21:25:57.00
>>759,764
レスありがとうございます。

ABCはその通りです。
データ1、データ2は同じシートにあります。
Aは日付、Bは金額です。

データ1
A(日付) B(金額) C(関数で○×表示させたい)
0701   1080
0701   2980     ○
0701   1080
0702   0216     ×
0703   7560
0703   7560

データ2
A    B
0701  2980
0701  2160←合算されてる(1080+1080)
0703  7560←1個しかない(データ1には7月3日に7560円が2件ある)

データ2の日付と金額の組合せがデータ1にあったら○を表示させたいです。無かったら×を。

でも金額が合算されてたり、同じ日に同じ金額が複数あったりしてうまくいきません。
0766名無しさん@そうだ選挙にいこう2015/07/06(月) 22:40:38.15
>>765
今のままじゃ無理
0767名無しさん@そうだ選挙にいこう2015/07/07(火) 12:21:02.29
なんで1080は合算されるのに2980はそのままなの?
7560はふたつあるのに合算されないの?
合算された2160じゃない2160は出てきたりしないの?

商品名とかで分けたほうがいいんじゃ・・・
0768名無しさん@そうだ選挙にいこう2015/07/07(火) 21:06:45.99
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

検索ワードが分からないので質問させて下さい。

A1
B1 B2
C1 C2 があって
別のセルに「A1の値がB1ならばB2の値を表示、A1の値がC1ならばC2の値を表示」というのは可能でしょうか?
0769名無しさん@そうだ選挙にいこう2015/07/07(火) 21:09:52.13
>>768
d1=if(a1=b1,b2,"") & if(a1=c1,c2,"")
0770名無しさん@そうだ選挙にいこう2015/07/07(火) 21:10:29.63
kensakuwa-do ha
エクセル if 条件 分岐 とかそんな感じ
0771名無しさん@そうだ選挙にいこう2015/07/07(火) 21:15:02.26
>>769
ありがとうございます!解決しました
>>770
参考にします。ありがとうございます!
0772名無しさん@そうだ選挙にいこう2015/07/07(火) 22:42:56.29
>>766
(´;ω;`)ありがと別の切り口探します

>>767
データ1は入金予定(注文受けた時)
データ2は入金実績です。
データ2に無いのはまだご入金されてないってことです。
データ2で合算されているのは注文を合わせて振り込んできたということです。

商品名で引っ張れるか考えてみます。
ありがとうございました。
0773名無しさん@そうだ選挙にいこう2015/07/08(水) 06:02:57.53
注文番号で管理しないとダメじゃ?
同日に同商品が複数あったら見分けつかない
0774名無しさん@そうだ選挙にいこう2015/07/08(水) 08:55:50.55
>>772
とりあえずVBAが必要な可能性もあるけど、人間に手作業で出来る内容は
(例えば芸術みたいに創造性の必要とされる分野をのぞけば)
ほぼ全て自動化できます。

ただし、そのためには人間がどういったプロセスで作業を実行しているのかが
きちんと明らかにされなければなりません。

そのプロセスをコンピュータに分るように記述するのがいわゆるプログラミング作業な訳ですが、
プログラミングが出来ない人でも自分自身の作業手順を順序だてて説明できれば
誰かが代わりにプログラミングできます。

残念ながら今までの貴方の書き込み内容からでは
人間の手作業のときにすらどうやって処理しているのかが
はっきりしないわけですよ。

今ご自身が手作業で実行できているなら、その手順は貴方の頭の中には
きちんと存在しているはずです。

それを誰かアルバイトを雇ったときに説明するつもりでここに書き込んでみてください。

>>764、>>766-767、>>773の各氏や私は、みなさん理解するための質問をしてくれてる
熱心なバイト君みたいなつもりで捉えれば良いのですよ。
0775名無しさん@そうだ選挙にいこう2015/07/08(水) 09:03:39.27
勝手にバイトにすんなw
07767742015/07/08(水) 09:35:00.72
>>775
これは失敬w
あくまでも「つもり」ですよ
0777名無しさん@そうだ選挙にいこう2015/07/08(水) 09:51:12.96
まあ失礼と感じる人も居そうではあるけど
たとえ話としてはなかなか的を得てるなーと思ったw

最近のバイトはむしろ「ハァ?なんだこりゃ・・・まぁいいかめんどくせ」みたいな
120%くらいやる気ないのが多いからなあ
「何がわからないのかもわからない」のはどうしようもないけど
「ここはなんでこうなってるんですか」とか聞ける意欲のあるバイトはむしろ部下に欲しいレベル

さすがになんでもかんでも、毎回一つずつだけ聞いてくるようなのはちょっとウザいがw
0778名無しさん@そうだ選挙にいこう2015/07/08(水) 15:54:45.34
質問スマソ
=″&a1
とセルに入れたいんですがどうすればいいでしょうか
″りんご みたいな感じで出したいです
0779名無しさん@そうだ選挙にいこう2015/07/08(水) 16:00:25.38
>>778
全角の”じゃダメなのか?
だったら
'"
でまず適当なセルに"を出して、そのセルを参照しろ
A100='"
B16=A100&A1
0780名無しさん@そうだ選挙にいこう2015/07/08(水) 16:02:31.82
スペースも入れたいなら
A100='"
B16=A100&" "&A1
な
0781名無しさん@そうだ選挙にいこう2015/07/08(水) 16:58:55.37
"を""でくくるみたいなことはできないんだっけ?
0782名無しさん@そうだ選挙にいこう2015/07/08(水) 17:22:29.97
森うんち
0783名無しさん@そうだ選挙にいこう2015/07/08(水) 18:06:20.50
>>778
=""" "&A1
0784名無しさん@そうだ選挙にいこう2015/07/09(木) 08:03:01.48
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 初心者
【4 VBAでの回答の可否】 可


http://up.mugitya.com/img/Lv.1_up72719.jpg

こうしたいのですが
VBAでどう書けばいいでしようか・・
実際の表はもっと縦横大きいです
単純そうで初心者には難しく、ああでもないこうでもないで日が暮れた
アドバイスお願いします(´・ω・`)
0785名無しさん@そうだ選挙にいこう2015/07/09(木) 13:36:14.32
>>784

多分[A,B,C]、[D,E,F]、[G,H,I]、の3つのグループがあって
それぞれのグループからひとつずつ取り出した場合の
全ての組み合わせを求めてるんですよね?

で、サンプルでは3掛ける3だけど、
実際には縦(ひとつのグループの要素数)と横(グループの数)がもっと多いということ。
さらには各グループ毎の要素数も同数ではない可能性も考えられますね。

とりあえずVBAでベタに書くと、各グループをそれぞれ配列に入れて、
グループ数分のループをネストさせて、
順番に組み合わせを求めていく感じでコードを組んでみたらどうでしょうか。

私にも実際のコードはすぐには書けませんけど。
0786名無しさん@そうだ選挙にいこう2015/07/09(木) 15:07:23.50
並べ替えで行の内容がバラバラになってしまうミスがありますが、それが起きないように1行内の全セルをグループ化できますか?
CSVエディタみたいに1行が1単位になるようにしたいのですが、可能でしょうか?
0787名無しさん@そうだ選挙にいこう2015/07/09(木) 18:25:42.91
>>784
E1 =INDEX(A:A,MOD((ROW(A1)-1)/9,3)+1)
F1 =INDEX(B:B,MOD((ROW(A1)-1)/3,3)+1)
G1 =INDEX(C:C,MOD(ROW(A1)-1,3)+1)

画像の奴はとりあえずこれでいけるけど…調整がいるよね。
0788名無しさん@そうだ選挙にいこう2015/07/09(木) 20:06:54.02
>779-783
アリガ�d " 別セルに入れて出来ました。

VBA全然わからないんですが、エクセルで作ったデータを別のアプリに入力して、画面コピーを
エクセルに貼り付けることは出来ますか
07897842015/07/09(木) 22:16:45.54
>787
ありがとうございます
十分役に立ちます
0790名無しさん@そうだ選挙にいこう2015/07/09(木) 22:28:26.89
2013使ってます

セルの背景色を設定する際に出てくる「基本色」を
もっと使いやす色に変更したいのですが、
方法はあるでしょうか?
0791名無しさん@そうだ選挙にいこう2015/07/09(木) 23:00:48.17
>>787
横だけど、ROW()ってくっそ便利やな・・・
0792名無しさん@そうだ選挙にいこう2015/07/09(木) 23:45:31.99
winmergeで差分を表示する為にxdoc2txtを使っていたけれど、
xlsx形式だとテキストボックスが抽出されません

他に手段はありますか?
0793名無しさん@そうだ選挙にいこう2015/07/09(木) 23:58:11.75
>>791
ヨコ方向のもあるで
たしか・・・COLUMN()みたいなの
0794名無しさん@そうだ選挙にいこう2015/07/10(金) 00:00:11.73
>>786
vbaとか使えば?
>>790
多分無理
>>792
そのツールの作者に要望出してみれば?
0795名無しさん@そうだ選挙にいこう2015/07/10(金) 03:26:51.91
>>790
つ ttp://www.moug.net/tech/exopr/0010017.html

グラフの色って書いてあるけど、
セルの塗りや文字色にも共通する設定なはず
0796名無しさん@そうだ選挙にいこう2015/07/10(金) 04:37:43.70
>>793
「横だけど」ってのは、横方向縦方向って意味じゃなくて、
「横レス(=本来やり取りしてる人達とは違う第三者が割り込んでレスをする事)だけど」の略だよ?
0797名無しさん@そうだ選挙にいこう2015/07/10(金) 08:02:53.28
横だけど ROWSみたいな複数形ってどういう時に使うの?
存在は知ってるけど、使い道がいまいちわからない
0798名無しさん@そうだ選挙にいこう2015/07/10(金) 09:53:26.06
>>784,789 再帰処理って手法でちょっとやってみた。途中経過だけど参考になれば。
元データが4列
Sheet1が元データ、Sheet2が出力先です。Sheet1のA1からデータが始まってるものとします。
Option Explicit
Dim sh_i As Excel.Worksheet, sh_o As Excel.Worksheet
Dim yoko_max As Integer, tate_max() As Long, tate_o As Long
Dim yoko As Variant, j As Integer

Sub ex784_saiki()
 Set sh_i = Worksheets("Sheet1")
 Set sh_o = Worksheets("Sheet2")
 yoko_max = sh_i.Cells(1, Columns.Count).End(xlToLeft).Column
 ReDim tate_max(yoko_max) As Long
 For yoko = 1 To yoko_max
  tate_max(yoko) = sh_i.Cells(Rows.Count, yoko).End(xlUp).Row
 Next yoko
 tate_o = 1
 Call saiki(1) ' パラメータは列番号
End Sub

Sub saiki(a As Integer)
Dim tate As Integer
 If a > yoko_max Then Exit Sub
  If tate_max(a) > 0 Then
   For tate = 1 To tate_max(a)
    sh_o.Cells(tate_o, a).Value = sh_i.Cells(tate, a).Value
    If a = yoko_max Then tate_o = tate_o + 1
    Call saiki(a + 1)
   Next tate
  End If
End Sub ' 説明は次のレスで
07997982015/07/10(金) 10:31:37.39
>>798 の「元データが4列」は 4列で試した ということです。
yoko_max 元データの列数(>>784の例だと3)
tate_max 各列毎の要素数(>>784の例だとすべて3)
tate_o 出力側シートへ書き込むときの行位置
saiki という処理は自分自身を呼ぶとき、コピーを作ります。
よって、saiki(1)とsaiki(2)・・・の中で定義したパラメータの a は別ものです。
再帰処理はプログラムが簡潔ですが、深くなるとメモリ不足になることがあるとかなんとか・・・
試してたら、たった4列でも何かアヤシイ・・・
気が向いたら続きを作りたいと思いますが、夜になるかも。
08007982015/07/10(金) 11:10:40.04
うーむ、実行時間がかかりすぎ
プログラムを改良して>>784の希望通りにしたところ、途中「応答なし」になってしまう。
元データは5列で、左から要素数が4、5、6、7、8個(出力行数は4*5*6*7*8の6720行)
たったこれだけなのに、自分のノートPC(Win7pro64bit,core i5,8GBメモリ,SSDのExcel2010)で
実行時間が1分36秒!
元データの列数が固定ならば、For〜Nextのネストを利用したプログラムで数秒で終わると思う。
0801名無しさん@そうだ選挙にいこう2015/07/10(金) 14:25:34.65
エクセルでマクロの元を作ってメモ帳に貼り付けてるのですが
何か「。」が勝手に入ってるみたいです
エクセルにもメモ帳にもありません
こういうのはどうやって探せばいいんでしょうか
0802名無しさん@そうだ選挙にいこう2015/07/10(金) 14:47:52.15
>>801
モジュールをエクスポートしたほうが簡単だよ
メモ帳で見れるし
必要なら.txtで保存すればおk
08037852015/07/10(金) 17:57:06.28
>>784
再帰とかやってると頭がこんがらがって使いこなせないので、
ベタにやってみました

https://friendpaste.com/4TOwCveIXPUMQ0pYbAKSjK

もう少し何とかできそうだけど、私にはこれが精一杯でした
0804名無しさん@そうだ選挙にいこう2015/07/10(金) 20:14:07.87
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

数字の桁数の下二桁を書式設定のユーザー定義のみで
非表示にする方法はありませんか?

例えば
1234 → 12
6789 → 67
123  → 1

四捨五入はする必要はなく、ただ非表示にしたいだけです
ググって千単位、百万単位の表示は分かったのですが
百単位での表示がわかりません、助けて下さい
08057852015/07/10(金) 20:52:41.47
一応、798さんに倣って私もスピードを計ってみました
(処理終了時の時刻と処理開始時の時刻の差分で計測)

使用PCのスペックは自作デスクトップで
Win7Pro64bit、Atom330、RAM4GB、HDDでExcel2000という非常にショボイ環境です

5列で、左から要素数が4,5,6,7,8個(出力行数は4*5*6*7*8で6720行)なら約4秒でした
6列で、左から要素数が4,5,6,7,8,9個(出力行数は4*5*6*7*8*9で60480行)だと約39秒でした

Excel2000なので行数の制限が65536行ですからこれ以上の計測はやめましたが、
行数が9倍、列数が1.2倍に増えてますので、
セルへの書き込み回数は9*1.2=10.8倍になりますから
ほぼリニアに処理時間が増えてますね
0806名無しさん@そうだ選挙にいこう2015/07/10(金) 20:52:56.51
ありません 別の列に表示してください
08077852015/07/10(金) 23:54:21.02
ScreenUpdating = False にしたら39秒が26秒になった
さらにデータをイチイチ書き込まないで、
一旦Variant型変数に入れてからまとめて出力したら1秒になった
Variant凄すぎワロス
0808名無しさん@そうだ選挙にいこう2015/07/11(土) 00:22:48.46
おめでとう。
08097842015/07/11(土) 07:44:22.94
>>803
おおー
これが俺が同じようなこと考えて
書きかけて挫折した奴
わざわざありがとうございます
0810名無しさん@そうだ選挙にいこう2015/07/11(土) 08:45:32.19
>>804
方法はありません
0811名無しさん@そうだ選挙にいこう2015/07/11(土) 08:58:49.28
÷百しちゃだめなの?
0812名無しさん@そうだ選挙にいこう2015/07/11(土) 10:00:34.73
>>806>>810
方法はないんですね・・・残念です

>>811
100で割って小数点以下を非表示にするってことですよね
その方法で再度ググってみます、ありがとうございます
0813名無しさん@そうだ選挙にいこう2015/07/11(土) 10:06:28.93
ああ その方法もぐぐらないとわかんないひとだったのか
0814名無しさん@そうだ選挙にいこう2015/07/11(土) 10:27:53.74
隣の列に÷100する式をいれてその列の表示を変えればおkじゃん。
表示を変えるアイコンが上に出てた気がするけどあれ何だっけ。
08157852015/07/11(土) 10:39:17.25
>>809
いや、私も本当は再帰で何とか出来ないか悩んだんですけど
途中で頭がこんがらがって訳分かんなくなってあきらめました

再帰を使いこなせたらもっとスマートなコードが書けるのにと
いつも思ってます
使える人がうらやましいです

ところでこれ、最大表示行数の都合でExcel2007以降でも
最大20列までしか計算できないんですね
(1,048,756行=2^20、しかもその場合は各列2行のみ)
もちろん1行の列なら列数が許す限りいくらでも増やせますけど、
増やしたところで意味がありませんし、
もっといろいろ出来るかと思ったけど結構限界は低かったなぁと感じています

いわゆる組み合わせ爆発って奴なんでしょうね

>>812
「書式設定のみで」という条件付きだと無理だと思いますよ
桁区切りは三桁単位のものしかなさそうですし
0816名無しさん@そうだ選挙にいこう2015/07/11(土) 14:05:23.29
>>812
入力セルでは無理
計算結果セルだと、=INT(n/100)とか
0817名無しさん@そうだ選挙にいこう2015/07/11(土) 20:11:16.86
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


ab,bc,cd,deの長さをそれぞれ求めたい

a------b-----c-----d-----e

a,b,c,d,e各点は任意の有理数
de>0
a-e>0
将来的に点の数は増えていく予定なので、ifの入れ子はなるべく避けたい

この場合、どんな式を立てれば良いのでしょうか?
ご教示願います。
0818名無しさん@そうだ選挙にいこう2015/07/11(土) 20:17:52.39
引き算で
0819名無しさん@そうだ選挙にいこう2015/07/11(土) 20:43:10.98
>>817
何がやりたいのか良く分らないです
本当にただ引き算するだけで良いならこんな所で質問しないでしょうし
もう少し具体的なサンプル画像とかないですか?
0820名無しさん@そうだ選挙にいこう2015/07/11(土) 21:38:09.28
Excelで各点の長さてなんぞ? 測量とかでフリーソフトいろいろあるけど
そおゆうんで無くて? a ------- b ----- c --  とか途中の ----- は何なんだ
土木や測量系のすぺしゃりすとは、そういう方面での使いこなし無茶苦茶すげえから
まずはソッチ見てくれば参考となるものがあるかも
0821名無しさん@そうだ選挙にいこう2015/07/11(土) 21:57:59.34
むりやりエスパーしてみる

1.計算対象は要素数が不定の有理数の集合
2.集合の要素は大小さまざまな順番で並んでいる
3.これらを降順(または昇順)に並び替えて
4.その各要素間の差(つまり長さ)を求める

とかいうのはどう?
こんなんじゃなきゃほんとに引き算だけで解決しちゃうもんなぁ
0822名無しさん@そうだ選挙にいこう2015/07/11(土) 23:02:40.90
abcdeそれぞれの座標がわかれば引き算だけど。。
エクセル上で位置が変わるのか?
増える点点はなんじゃww
0823名無しさん@そうだ選挙にいこう2015/07/11(土) 23:11:42.69
おまえらabcdeが直線上に位置するとは限らないだろ
3次元空間にある可能性もあるし、非ユークリッド平面上にある可能性もある
0824名無しさん@そうだ選挙にいこう2015/07/11(土) 23:18:16.38
任意の有理数ゆうてるやん
2次元以上の座標やったらそんなんではあらわせんで
0825名無しさん@そうだ選挙にいこう2015/07/11(土) 23:25:31.53
無数の点々に追いかけられる夢見そう
0826名無しさん@そうだ選挙にいこう2015/07/12(日) 09:28:12.08
tanasin...
08278172015/07/12(日) 23:38:31.61
>>817です。
説明が不足していたようで申し訳ありません。

サンプルファイルを作成してみました
http://fast-uploader.com/file/6992267396954/

サンプルを作成していて気付いたのですが、 『何が分かっていないのか分かっていない状態』 に陥っている感じです。
不足情報、矛盾点等指摘して頂けると助かります。

>>821
エスパーありがとうございます。
私のやりたい事に非常に近いと思われます。
RANK関数あたりの使い方を調べてみます。
08288212015/07/13(月) 07:57:53.17
>>827
なんとなくうっすらとは伝わりましたがまだ曖昧ですね
今後要素が増えるのにEを常に終点とかいうのもおかしいです
アルファベットの並び順が式評価の順番に影響するのですから、
要素がふえたらFとかGとかはどうなるのでしょうか?
(それに「終点」っていう表現も曖昧ですよね?
より正確には最大値側の端点とでも言うべきでしょうか)

こういうときにはAを端点にするとか
アルファベットではなくデータに番号を振って
データ1〜データX(Xは任意の自然数)みたいに書くとかすると
より説明がわかりやすいと思います
(要素の数が変動することを考えれば、
この場合でも端点はデータ1にしておくべきだと思いますが)

あと、同値のデータがあった場合の処理
(これはつまり「距離ゼロを許すかどうか」とも言い換えられますが)
などもよくわからないですね

とりあえずもう仕事に出掛けないといけないんで私はひとまずここで抜けます
夜またスレ覗きにきます
0829名無しさん@そうだ選挙にいこう2015/07/13(月) 09:02:23.40
>>821
並び替えは結構めんどくさい。数式作れそうになかったらVBAのほうが早いかもってレベル
とりあえずM列以降で作ったけど
http://www.dotup.org/uploda/www.dotup.org413826.xls.html
0830名無しさん@そうだ選挙にいこう2015/07/13(月) 10:18:37.96
▼━質問テンプレ (必ず使ってね) ━━━
【1 OSの種類         .】 Windowsxp
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

在席率の表を作成したいと思ってます。

13:03-13:12という在席あったとして
13:00-13:10 の在席1
13:10-13:20 の在席1
というカウントは問題なくできましたが

上記の時間帯間隔で
12:50-13:28の在席があった場合
12:50-13:00 在席1
13:00-13:10 在席0
13:10-13:20 在席0
13:20-13:30 在席1
という形で真ん中の時間帯のカウントがうまくいきません。
個別に計算して無理やり在席の時間を生成し、
在席カウントさせる事は出来るかと思いますが、
時間帯を分単位で可変できる形にしたい為、
例えば1分で刻んだ場合、
数式の量が膨大になり現実的でなくなってしまいます。

※時間帯を分単位で変更可能(1分〜数百分間)
※データは100件以上を想定

完全に行き詰りました。
宜しくお願いします。
0831名無しさん@そうだ選挙にいこう2015/07/13(月) 12:25:47.69
>>830
TRUEの条件を間違えてないか?
恐らく一番目の時間を最小値、二番目の時間を最大値にしているんだろうが
その数字の中に在席開始時間もしくは終了時間がないんだから0にならなければその方がおかしい

その条件をカウントする数式に開始時間が一番目の基準時間より小さく
終了時間が基準時間より大きいものがTRUEになる行をカウントする数式を足してみたらどうだろう
08328302015/07/13(月) 13:38:14.06
>>831
解答ありがとうございます。

在席の開始と終了で、指定の時間にかかるようIFなどでカウントしてます。
おっしゃる通り、真ん中のの時間帯にそれにあう数字がないため、条件をうまくつけられていないです。
個別に条件を入れて1をカウントすることはできるかと思いますが、その方法ですと、それぞれのデータの羅列1つ1つにその式が必要になってしまい、数式の量が膨大になってしまいませんでしょうか?。
0833名無しさん@そうだ選挙にいこう2015/07/13(月) 13:44:40.21
>>832
今現在、上手く動いてないそのサンプルをどっかにうpして見せて
実際の固有名詞とか、人前に出せない所は「あ」とか「A」とかで構わないから
08348302015/07/13(月) 13:51:52.90
>>833
了解です
今出先なので後ほど必ずアップします
08358302015/07/13(月) 15:14:48.13
>>830です
グーグルドライブ経由ですみませんがサンプルファイルです。
もろもろの式が素人丸出しと思いますが多目に見てください。
よろしくお願いします
https://drive.google.com/open?id=0Bw5r87RZKtESOVYxLTN0TlNzMTQ
0836名無しさん@そうだ選挙にいこう2015/07/13(月) 17:37:53.59
>>802
アリガ�d
08378332015/07/13(月) 18:29:31.03
>>835
小手先の超やっつけ仕事だけど、
"そこまでの Inの数" - "一個前までのOutの数" > 0 を在席としてカウントしてみた

セル U5 に

= IF(SUM(INDIRECT("R5:R" & ROW())) -SUM(INDIRECT("S4:S"& (ROW()-1)))>0,1,0)

をコピペして、下にオートフィルしてみてください
ただ、色々無駄な部分が多すぎるので、本質的には根本から作り直すべきだと思います
0838名無しさん@そうだ選挙にいこう2015/07/13(月) 19:41:37.22
>>830,835 つくってみました
当方の環境ではグーグルドキュメントはプレビュー状態しかみてません。
A列は着座データの一連番号(データは3行目から12行目までの10件で想定)
B列はinの時、C列はinの分 B2:C2を結合して項目見出し in を設定
D列はoutの時、E列はoutの分 D2:E2を結合して項目見出し out を設定
F列はinの時刻を分単位にしたもの F3の計算式 =B3*60+C3 下へコピー
 F1:G1を結合して項目見出し 整数化 を設定、F2セルに項目見出し in を設定
G列はoutの時刻を分単位にしたもの G3の計算式 =D3*60+E3 下へコピー
 G2セルに項目見出し out を設定
H列は時間帯を分単位にしたもので、H2セルに帯の単位(刻み)となる分数を設定
I列は帯の始時刻の時、J列は帯の始時刻の分
 I2:J2を結合して項目見出し 時間帯 を設定
 区分時間帯の最初の時刻だけI3、J3セルに設定、他は計算式で生成
ひとつあけて、N列には帯時刻の中に着座の開始または終了の時刻があるデータの件数、
O列には着座時間がすっぽり帯時刻を内包するデータの件数としました。

H3セルの計算式 =I3*60+H2
H4セルの計算式 =H3+$H$2 下へコピー(I〜O列よりも1行分多くコピー)
I4セルの計算式 =INT(H4/60)
J4セルの計算式 =MOD(H4,60)

N3セルの計算式
=SUMPRODUCT(SIGN(($F$3:$F$12>=H3)*($F$3:$F$12<(H4-1))+
           ($G$3:$G$12>H3)*($G$3:$G$12<=(H4-1))))
O3セルの計算式
=SUMPRODUCT(($F$3:$F$12<H3)*($G$3:$G$12>(H4-1)))

K列にN列のセルとO列のセルの和の計算式を設定すると、要望に沿えるかと思います。
0839名無しさん@そうだ選挙にいこう2015/07/13(月) 19:42:33.20
>>830>>835
U5=((R5=1)+(T4=1))*NOT(S4=1)
08408172015/07/14(火) 00:15:38.11
>>821さん レスありがとうございます。

後出しで条件を追加するようで申し訳ないのですが、
元々求めたかった物は 『様々な断面積を持つ物体の体積の合計』 です。
体積を求める前段階として各部の長さを求めようとしました。

人体を例にしてサンプルを作成してみました。
前回より多少は分かりやすくなっていると想います。

http://www1.axfc.net/u/3499874.xls

サンプルを作成していて気付いたのですが、各要素の断面積も式を立てるために必須ですね。
出し惜しみしていた訳ではないのですが、自分の無知さを恥じているところです。


>>829さん

何とか理解は出来るのですが、たしかにややこしい式ですね。
VBAは使えませんが、マクロの記録で並べ替えする位なら出来ますので、そちらの方も試してみたいと思います。
ありがとうございました。
0841名無しさん@そうだ選挙にいこう2015/07/14(火) 00:47:28.72
>>840
後出しは最悪だね
もう例えとかじゃなく実際の作業を教えてくれたほうが早い気がする
08428212015/07/14(火) 07:15:31.33
>>840
うーん、余計に分らないですね

断面積の集積で体積を求めるという事なら
距離がマイナスっていう状況がどうして生じるのか想像ができません

2度目のサンプルならば
どこにもマイナスになり得る要素が存在しないですよね?

私個人は後出しが悪いとは全く思いませんし、
(後出しで不利益をこうむるのは質問者側であって回答者ではありませんから)
質問する時点で質問者自身も良く分っていないというケースはよくある話ですので
それについてどうこう言うつもりは全くないのですが、
どうせなら実際に即したサンプルを提示していただいたほうが
より良い回答が得られやすいように思います
08438302015/07/14(火) 09:39:55.08
>>837
>>838
>>839

>>830です。
御三方、レスいただきありがとうございます。
たった今いただいたもので検証しましたところ、>>838で作りたいものが出来ていました。
すごく丁寧にレスしていただき、感謝しきれません。
自分の知識ではこれにたどり着かなかったと思います。
本当にありがとうございました
0844名無しさん@そうだ選挙にいこう2015/07/14(火) 17:36:48.39
【1 OSの種類         .】 Windows*7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

【Sheet1】
[A列]
あいうえお
かきくけこ
さしすせそ
[B列]
ここにA列の値をSheet2のA列から検索してSheet2のB列の値を入れたいです

【Sheet2】
[A列]
あいうえお
かきくけこ
さしすせそ
[B列]
亜
可
差
08458442015/07/14(火) 17:39:45.37
Sheet1のA列とSheet2のA列は
それぞれ同じものはありません

Sheet2のB列には同じものがあります
[B列]
亜
可
差 ←例えばここと
差 ←ここ

よろしくお願いします
0846名無しさん@そうだ選挙にいこう2015/07/14(火) 19:24:29.75
>>844 Sheet1のB1セルに以下の計算式(改行部分はつなげてください)を入れて下へコピー
=IF(ISERROR(MATCH(A1,Sheet2!$A$1:$A$8,0)),
"",
INDEX(Sheet2!$B$1:$B$8,MATCH(A1,Sheet2!$A$1:$A$8,0)))

※ $A$1:$A$8 と $B$1:$B$8 の部分は適当に変更してください
0847名無しさん@そうだ選挙にいこう2015/07/14(火) 19:35:50.55
Vlookupで良いんじゃないの?
0848名無しさん@そうだ選挙にいこう2015/07/14(火) 19:39:17.88
まっちー まだこのスレに張り付いてるのか
08498172015/07/14(火) 20:07:05.68
>>817です。

実際に作成しているシートを添付します。

http://www1.axfc.net/u/3500302.xls

宜しくお願い致します。
0850名無しさん@そうだ選挙にいこう2015/07/14(火) 21:27:03.90
>>817,849 849のシートの絵に矛盾がありますよ
上の方の絵だと、円筒形を構成する4つの部材A,B,C,Dは連続してて、
A側の始点がX0、以下接続点がX1〜X4(終点)となってますが、
下の絵(ふたつとも)だと、X1はA部材の終点であり、B部材の始点ではありません。
下の絵を見ると、B部材の始点がX2になっており、C部材との接続点になにも
わりあてられておらず、X3がD部材の始点、X4が終点となってます。
A部材が重なること前提ならば、点のとりかたをX0=始点、X1=Aの終点、
X2=Bの始点、X3=Cの始点、X4=Dの始点、X5=終点とし、上の絵のように
ABCDが連続するときはX1=X2となるような仕組みで考えればいいのでは?
0851名無しさん@そうだ選挙にいこう2015/07/14(火) 22:29:56.46
自分だったら A〜Eの始点終点は別々に入力する だから入力する数値は8個
0852名無しさん@そうだ選挙にいこう2015/07/14(火) 22:30:29.22
A〜Dの間違い
08538502015/07/14(火) 22:49:04.05
>>850の続き 
部材Aの径が部材B〜Dの径より大きいとき
径Aの適用はX1まで、径Bの適用はX1〜X5

部材Aの径が部材B〜Dの径より大きいとき
径Aの適用はX2まで、径Bの適用はX2〜X5

部材Aの径が部材B〜Dの径と等しいとき
径AでX0〜X5

実際には≧と<の2パターンで考えればいいけどね
0854名無しさん@そうだ選挙にいこう2015/07/14(火) 23:26:42.70
エクセル職人の皆様
どうかお助け願います…。

Yahoo!知恵袋
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12147854017
0855名無しさん@そうだ選挙にいこう2015/07/14(火) 23:36:03.94
>>854
=now()-(today()+E3)
0856名無しさん@そうだ選挙にいこう2015/07/15(水) 00:04:47.97
>>855

1899年12月29日表示になってしまいます…orz
0857名無しさん@そうだ選挙にいこう2015/07/15(水) 01:01:23.98
>>856
めちゃくちゃじゃない。シリアル値を理解していないだけ
経過時間を知りたいなら日付を表示させてはならない
0858名無しさん@そうだ選挙にいこう2015/07/15(水) 02:23:45.06
>>857
なるほど、経過時間の計測については分かりました。
経過時間ごとに自動でセル背景の色を変えたいのですが、
こちらのやり方は分かりますか?
0859名無しさん@そうだ選挙にいこう2015/07/15(水) 07:27:18.96
>>858
http://www.becoolusers.com/excel/conditional-formatting.html
0860名無しさん@そうだ選挙にいこう2015/07/15(水) 07:44:28.81
な る ほ どwww
0861名無しさん@そうだ選挙にいこう2015/07/15(水) 23:00:39.34
>>850
>>852
>>853

回答有難うございました。
仰るとおり、各断面の始点と終点を分けて再作成してみます。

また行き詰まったら質問させていただくかもしれませんので、その際は宜しくお願い致します。
0862名無しさん@そうだ選挙にいこう2015/07/15(水) 23:31:46.72
ノートPCを買おうと思うんですが、Excelとグラフィックのメモリ容量ってExcelに関係しますか?
エクセルでいつもやってるのは株価の分析で、スクレイピングしたりするので、多くのデータを扱ってます。
0863名無しさん@そうだ選挙にいこう2015/07/16(木) 00:50:39.79
>>862
>Excelとグラフィックのメモリ容量
わからん
グラフ全開なら比例する
普通はしない
0864名無しさん@そうだ選挙にいこう2015/07/16(木) 06:56:19.01
上海株でもやってるのかw
0865名無しさん@そうだ選挙にいこう2015/07/16(木) 09:46:56.62
「数値が文字列として保存されています」のセルがたくさんあるのですが
これを一気に数値に変える方法はなんですか?
0866名無しさん@そうだ選挙にいこう2015/07/16(木) 11:27:22.78
1.何も入力されてないまっさらのセルをコピー
2.文字列を数値に直したいセルを選択
3.形式を選択して貼り付けから、上段を値、中段を加算、として実行

0(空白)を足すことで数値扱いされるようになる、的な感じ
1を掛け算(乗算)でもよかった気がするけどこちらは1が必要になるのでね
0867名無しさん@そうだ選挙にいこう2015/07/16(木) 12:22:03.13
文字列の数値は、SUMやSUMIFだと計算できないが、SUMPRODUCTだと計算できるよな
後2013だと、半角文字列なら自動的に計算可能なようだ
2007だと全角だろうが半角だろうがエラーになる

2010は使ったことないから知らん
0868名無しさん@そうだ選挙にいこう2015/07/16(木) 12:28:07.69
セルの結合してないなら、コピー、メモ帳に貼り付け、メモ帳からコピー、エクセルに貼り付け、が手っ取り早い
0869名無しさん@そうだ選挙にいこう2015/07/16(木) 18:33:52.89
便乗質問
日付を標準状態で文字列にするにはどうするのが良いでしょうか
2015/07/16
をセルの書籍設定で文字列にしようとするとシリアル値の文字列にしようとするとなってしまいますし
既存のセルをコピペして日付を直すと書式が日付になってしまいます

なにか良い方法はないでしょうか

使用バージョンは2007です

何回かやるとうまくいくことがあるのでそれを使っていますができることなら一発でできないかと
0870名無しさん@そうだ選挙にいこう2015/07/16(木) 18:58:17.34
よくわからんけどテキストで囲ってyymmddとかにすればええやん?
0871名無しさん@そうだ選挙にいこう2015/07/16(木) 19:37:19.39
先頭に’を入れれば良いじゃん。
0872名無しさん@そうだ選挙にいこう2015/07/16(木) 20:41:22.09
>>865
シート全て選択しコピー、新しいシートを選択、形式を選択して貼り付け、加算
0873名無しさん@そうだ選挙にいこう2015/07/16(木) 21:19:35.46
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可能であれば否

最初に各アルファベットに定数を定めて下の表で
アルファベットを打ち込むだけで
各行に対する数の和を自動的に算出・表示してほしい

http://light.dotup.org/uploda/light.dotup.org213110.png.html
例えばA11〜E11までのセルにアルファベットを打ち込むだけで
その総計がF11に表示されるようにしたい

出来るようにする為のヒントくれ
0874名無しさん@そうだ選挙にいこう2015/07/16(木) 21:32:12.68
>>873

iferror(vlookup(),0)+iferror(vlookup(),0)
08758732015/07/16(木) 22:32:01.67
>>874
出来た
3Qベリマッチョ

因みに今回は最大5個の数の和だったけどもっと多い場合も
iferror(vlookup(),0)+…と続けていかないと駄目かね?
0876名無しさん@そうだ選挙にいこう2015/07/17(金) 00:34:31.36
急な出費でお困りの方キャッシング・カードローンまとめをぜひご活用下さい。
http://komattarasoudan.seesaa.net/article/422452476.html
最近髪でお悩みの方悩まずはこちらをご参考だて下さい。
http://kaminokehahaeru.seesaa.net/article/422482791.html
08778212015/07/17(金) 02:57:13.61
>>849
今更ながら & 5個固定ではなく任意の個数となると多分VBA無しでは無理だと思うので
最初の条件で不可になっているVBAを使用しているのですが、
taiseki という名前のユーザー定義関数を作ってみました

http://www1.axfc.net/u/3501403.xls
DLkey:849

体積を合計したい各部分について、始点・終点・断面積の三つを一組で横3列に並べ、
それを縦に好きな行だけ並べてからその領域を指定すると全体の体積が求まります
3列以外の幅で領域を指定するとゼロを返しますし、
領域内に不正なデータ(文字など)があると正常に動作しませんのでご注意ください
(エクセルで円周率を意味するPI()は数値扱いなので使用可能です)
0878名無しさん@そうだ選挙にいこう2015/07/17(金) 08:31:25.32
>>875
普通は作業列作って
A16=iferror(vlookup(),0)
B16=iferror(vlookup(),0)
・・・
として
f16=sum(a16:e16)とかにする
08798442015/07/17(金) 18:52:37.53
>>846
これでできました
=VLOOKUP(A1,Sheet2!A1:B600,2,FALSE)
0880名無しさん@そうだ選挙にいこう2015/07/17(金) 18:53:13.31
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【4 VBAでの回答の可否】 不可

0以上の整数を入れるセルがあり、0を入れたとき画面には
表示されるものの、印刷すると0だけ印刷されないようにできますか?
0881名無しさん@そうだ選挙にいこう2015/07/17(金) 19:34:31.92
>>880
入力用のシートと出力(印刷)用のシートを別にするのがわかりやすいと思う。
シート上のオブジェクト(テキストボックスを含む図形、マクロボタンなど)なら、
「オブジェクトを印刷する」のプロパティで設定できるけど。
シートをわけるのがイヤなら、当該セルの条件付書式で文字色をシートの色と同じにしておいて、
セルの内容を確認したいときは全セル選択(反転表示になるので白抜き表示される)するとか・・・
08828802015/07/17(金) 20:28:16.23
>>881
ありがとうございます。
アイデアとしては面白いですが、私個人だけで使うものではないため
どちらも現実的ではないように思います。
簡単な設定があればと思いましたが、無ければマクロを組みます。
0883名無しさん@そうだ選挙にいこう2015/07/17(金) 21:01:39.46
個人で使うファイルじゃないのに、マクロは勝手に組み込めるのか。自由な会社だな笑
0884名無しさん@そうだ選挙にいこう2015/07/17(金) 21:04:36.45
>>882
こういうのはあれだけど、逆に質問したいです。どういう風に考えていますか?
印刷の前に書式設定を「0;;」として戻す、とか?
0885名無しさん@そうだ選挙にいこう2015/07/17(金) 21:16:40.90
条件付き書式で0ならフォントカラーを白にすればいいだけだ
0886名無しさん@そうだ選挙にいこう2015/07/17(金) 21:26:36.24
あるセルをフラグにして、そこが1なら0は黒、そこが0なら0のフォントカラーを黒
という手もあるな

・・・vba使えるなら其のほうがはるかに早いよな
08878172015/07/17(金) 22:13:15.50
>>877
>>821さん、ありがとうございました。
完璧です。

当初の条件では 『VBA不可』 としましたが、
これはVBAで回答を提示されても 「私の知識では有効活用も応用も出来ない」 と考えたからです。
今回のように ユーザー定義関数で回答を提示して頂けると、今回の件に限らず私の業務の様々な場面で taiseki() は大活躍してくれるでしょう。
又、幸いな事に 『マクロ付きブック不可』 の取引先にブックを提出する機会も(今のところ)ありません。

重ねてお礼を申し上げます。
本当にありがとうございました。
08888172015/07/17(金) 22:39:51.89
連投失礼します。

>>821 さんへ質問です。
おそらくはその筋のプロの方とお見受けします。

『エクセル 作成 依頼』 等のキーワードで検索すると、様々なサイトや業者の情報が出てきます。
こういった業者に今回の taiseki() を作成依頼した場合、どのくらいの見積金額になるのでしょうか?
(当方が 「自身のやりたい事を理解できていなかった」 事による打ち合わせの時間も含む)

ただ、この質問はテンプレの
・B 書籍や解説サイトの紹介依頼はスレ違い。ここは技術的な質問のみで。
に抵触する可能性があります。

スレ違いであればスルーして下さい。
(該当スレに誘導して頂けると助かります)
0889名無しさん@そうだ選挙にいこう2015/07/17(金) 22:44:49.32
>>888
横レスだけど、ランサーズとかで依頼してみれば?
0890名無しさん@そうだ選挙にいこう2015/07/17(金) 23:44:39.92
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel97
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

Excelの、WorksheetオブジェクトのCodeNameについて。シートコピー時のコード名の変化が、バージョンごとに違うんでしょうか?

ExcelのシートAのコード名がSheet1だったとします。シートAをコピーしたシートA01のコード名ですが、
(1)Excel2010でやったら、A01のコード名は「Sheet2」になるようだ。
(2)しかし古いバージョンでやると、A01のコード名は「Sheet11」になるようだ。

実はExcel97でやると(2)のようになったのですが、これは避けられないのでしょうか?
A01をコピーしてA02を作り(古いAは捨てる)、A02をコピーしてA03を作る(古いA01は捨てる)・・・ということを日常業務において
したいのですが、古いバージョンだとコード名が「Sheet11」、「Sheet111」、「Sheet1111」、・・・「Sheet11111111111」と
馬鹿みたいに長くなります。そして、この長さを原因として、そのうちシートコピーが出来なくなってしまいます。
これは避けられないのでしょうか?
0891名無しさん@そうだ選挙にいこう2015/07/18(土) 00:11:53.73
>>890
CodeNameってなんだよ中二病かよって思ったらそういうプロパティがあるのね
多分だけど使わない方がいい。バージョンによって違ってたら違うんだろうけど、知らん。

https://msdn.microsoft.com/ja-jp/library/office/ff837552.aspx
を見ると変更はできないようなので、codnameの変更による対処は不可能

別の対処方法として、add()したシートをsetで受け取るとか、そのnameを使うとかした方がいいと思う
Sub a()
Set b = Worksheets.Add
MsgBox (b.Name)
End Sub
0892名無しさん@そうだ選挙にいこう2015/07/18(土) 00:25:48.95
>>891

codenameなんて、意識する気は全くないんですが、単にシートコピーを
繰り返しているだけで手詰まりになるのが嫌。
色々機能を盛り込んだシートをコピーしたいので、シートの単なるADDでは
ちょっと運用できない。俺一人でやってたときは、VBEを開いて手作業で
codenameを変更してたけど、他の人にそれはとてもやらせられない。
0893名無しさん@そうだ選挙にいこう2015/07/18(土) 00:30:18.24
もちろんaddの後にコピーはするけど、うまくいかないならWorksheets.copy()で何かうまいことやってみては?
codonameはもうmicrosoftも忘れてそう。
0894名無しさん@そうだ選挙にいこう2015/07/18(土) 02:11:54.22
97持ってないから憶測だけど
コピーしたら Sheet11、Sheet111 になって32桁でクラッシュって仕様のようだから
新規作成して Sheet2 を作ってからデータコピーしたらいいんでないの?
もしくは一度保存して開きなおすとか
0895名無しさん@そうだ選挙にいこう2015/07/18(土) 02:12:52.62
>>883
ぶっく1にまくろをかいて、ぶっく2のいんさつをすることもできるんですよ
08968212015/07/18(土) 04:48:07.04
>>887-888

>>821です
喜んでいただけて幸いです

私はその筋のプロではないので見積もり云々はよくわからないです

VBA以外の言語も知りませんし、VBA自体独学で専門の教育や訓練を受けたこともないです
VBAにしてもエクセルVBAしかわからない(ワードVBAやアクセスVBAは知らない)です

実を言うとエクセルのワークシート関数すらよく知らないので
普通の方ならVlookupやIndexなどで簡単に実現できる動作もマクロ組んでごまかしたりします

その程度の素人でもそれなりに使えば役に立つのがエクセルVBAのすごいところだと思います

ちなみに、今回のtaisekiは>>849見てから作り始めたのですが、
処理中のソート部分(Sub qs() のところ)をよそ様のサイトから丸パクリしたり
Dictionaryオブジェクトの使い方を調べたりするのに時間がかかっただけで
処理方法を考えたり実際にコードを書いたり自体は2~3時間ぐらいの作業でした

多分お金もらうにしたって数千円がいいとこなんじゃないでしょうか?
08978212015/07/18(土) 05:34:47.87
連投失礼します。
あと、なぜ長さを求めたいという質問に対して体積を求めるという回答をしたか
という点について説明しておきたいのですが、

実を言うと長さを(関数の返り値として)出すほうがめんどくさかったからです

もちろん、実際の終着点が体積であったことも考慮はしていますが
それでも途中経過として各部分の個別の長さがわかった方が良い場面もあるかもしれません

ところが、実際にそれを求めようとすると連結点の数が幾つになるのかが不定なので
点の入力(たとえばA~Eの5部分の場合、始点と終点を合わせて10個)に対して
出力はすべての点がバラバラなら10個ですが、仮にすべての始点終点が同一ならゼロ個もありえます
(さすがにゼロ個は非現実的な想定ですが、それを考慮せずに処理手順を考えるわけにはいきません)
そういうわけで長さの出力も0個から9個まで数が不定なのです
(9個というのはすべての部分がすべて離れていて一切重なっていないという
これまた非現実的な想定の場合です)

対して体積であれば(各部の長さ自体は処理中ですべて求めていますから
それを全部断面積と掛け合わせて合算すれば求められます)
常に返り値が一個で済むので
ワークシート上の関数として実装が容易だったわけです

もしも>>817さんの要求がどうしても各部の長さが求めたい
というものであったらこんなに簡単には解決できなかったと思います
0898名無しさん@そうだ選挙にいこう2015/07/18(土) 19:08:13.18
http://s1.gazo.cc/up/143014.png

このようなシートから2014年6月のB列合計を求める関数の書き方を教えてください。
08998982015/07/18(土) 19:09:13.81
後から2014年6月の行が増えても自動的に合計が更新されるような関数でお願いします。
0900名無しさん@そうだ選挙にいこう2015/07/18(土) 19:18:07.61
2014/06が入る作業列をつくってSUMIF()
09018982015/07/18(土) 19:44:47.74
>>900
ありがとうございました!
0902名無しさん@そうだ選挙にいこう2015/07/18(土) 19:53:33.16
>>898 作業列を使わない方法だと
=SUMPRODUCT((YEAR($A$1:$A$1000)=2014)*(MONTH($A$1:$A$1000)=6)*($B$1:$B$1000))
2014と6の部分は別のセルを参照する方法に変更でも可能です。
0903名無しさん@そうだ選挙にいこう2015/07/18(土) 20:11:12.52
いまはSUMIFSがあるので SUMPRODUCTはつかわなくてよくなった
0904名無しさん@そうだ選挙にいこう2015/07/18(土) 20:47:41.25
マクロでSheet1のA列にあるデータの最終行からデータを取得してテキストファイルに出力したいのですが
最終行の判定がいまいちよく判りません。よろしくお願いします
0905名無しさん@そうだ選挙にいこう2015/07/18(土) 21:28:40.26
>>904
どれでもお好きなのをどうぞ

先頭行(A1)から下に向かって探すやり方

= Sheets("Sheet1").Range("A1").End(xlDown).Row
= Sheets("Sheet1").Cells(1, 1).End(xlDown).Row

最下行(A1048576 または A65536)から上に向かって探すやり方

= Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row

ちなみに左右は End(xlRight).Column 、End(xlLeft).Column

で は な く て、

End(xlToRight).Column 、End(xlToLeft).Column

なので注意すること
0906名無しさん@そうだ選挙にいこう2015/07/18(土) 23:26:29.97
>>905
ありがとうございます
なんとか思い通りにtxtを出力することができました
0907名無しさん@そうだ選挙にいこう2015/07/19(日) 08:26:48.23
>>903
使い分けだね
数字が文字列だったり、複数列にまたがっている場合は
SUMPRODUCTのほうが便利だし

列をまとめて選択する方が効率いい時や数字の間に文字や空白がある場合は
SUMIF,SUMIFSだし
0908名無しさん@そうだ選挙にいこう2015/07/19(日) 09:42:30.60
>>903,>>907
古い(2007以前)バージョン使ってると
SUMIFSがないから必然的にSUMPRODUCTを使わざるを得ない
09098982015/07/19(日) 09:49:35.16
>>902-903
>>907-908
ありがとうございます!
参考にさせていただきます。
0910名無しさん@そうだ選挙にいこう2015/07/19(日) 10:44:39.99
>>908
SUMIFSは、2007からだよ
それより古いバージョンはセキュリティの問題であまり使用が推奨されんと思う

2003までのファイル形式であるxlsファイルでも2007以降で開けばSUMIFS自体は使えるし
0911名無しさん@そうだ選挙にいこう2015/07/19(日) 12:58:02.06
きっと以前って言葉の意味を
0912名無しさん@そうだ選挙にいこう2015/07/19(日) 13:37:35.68
>>910-911
あぁ、「2007以前」だと2007も含まれるのか
ずっと含まれないと思ってたよ
0913名無しさん@そうだ選挙にいこう2015/07/19(日) 14:35:54.70
>>912
「以上」「越える」の使い道はしっかり出来るようになっておいたほうがええよ
0914名無しさん@そうだ選挙にいこう2015/07/19(日) 15:21:10.89
>>912
「○○以前」 は対象「○○」を含まない方が多いよ。 特に口語では。

辞書にも含む、含まない両方の解説で載ってる。
法律用語では、特に時間系で使う場合は逆に 対象を含む と決まってる。
0915名無しさん@そうだ選挙にいこう2015/07/19(日) 16:08:00.90
>>912
数学の基礎知識だぞ。
っていうか、その認識だとVBAで比較演算子扱う時に苦労するぞ。
0916名無しさん@そうだ選挙にいこう2015/07/19(日) 16:32:04.43
>>914
>「○○以前」 は対象「○○」を含まない方が多いよ。 特に口語では。

俺の認識もそうでした
色々教えていただいてありがとうございます

>>915
以上・以下・未満の数学的区別は当然知ってる

ただ、それとは別に以前・以後・以降に関しては含まない意味で捉えていた
んで、今回の件で一応法律用語についてググって、含まれるんだと驚いて>>912を書いた。

>>914氏みたいな見解もあることだし強ちおかしなことでもなかった訳だね
0917名無しさん@そうだ選挙にいこう2015/07/19(日) 17:31:11.24
ちょっと上の話題と関連して、今時はもう皆、Excel2007以降のSUMIFSとか
新機能を普通に仕事で使ってるのかな?俺はどうもまだ、他の人に渡す際に
相手が2003以前だったらと考えると使い切れない。
というか、職場の連中は、Excel2010とか2010とか何それ美味しいの?な奴ばかりだし。
0918名無しさん@そうだ選挙にいこう2015/07/19(日) 17:51:18.38
「以外」は対象を含まないゾ
0919名無しさん@そうだ選挙にいこう2015/07/19(日) 19:06:30.74
以上以下は含む
未満は含まない
だろ
0920名無しさん@そうだ選挙にいこう2015/07/19(日) 19:30:06.83
>>914
確かにそれもそうだ
知ってたけど気づかなかったわ。ややこしいな
0921名無しさん@そうだ選挙にいこう2015/07/19(日) 19:32:07.99
>>917
2010だけど普通に使ってる。気にしてたら仕事にならん
そういう相手に渡す場合は諦めてpdfにしている
0922名無しさん@そうだ選挙にいこう2015/07/19(日) 19:35:11.88
いつまでも古いアプリ使ってる奴は無視していい
0923名無しさん@そうだ選挙にいこう2015/07/19(日) 20:12:29.33
うちの会社は2003→2007に変更して一部業務に支障があったみたいで2003にもどった
詳しくは聞いてないけど多分先人が残したマクロが動かなくなったんだと思う
そんなんで大丈夫かようちのシステム情報課
0924名無しさん@そうだ選挙にいこう2015/07/19(日) 20:17:15.20
サポートってまだ受けられるの?
0925名無しさん@そうだ選挙にいこう2015/07/19(日) 20:57:34.18
>>923
64bitにするだけでAPIは全滅だもんな
参照設定のバージョンも変わるし
0926名無しさん@そうだ選挙にいこう2015/07/19(日) 21:03:00.21
>>923
直したげないの?
俺も会社の人が動かないって言ってたマクロ何個か直したよ

たとえば、Shell関数で別のプロセスのエクセルを起動してるマクロがあったんだけど
そいつはエクセルのパスを文字列で指定していて、
バージョン違いでインストールパスが変わってたから動かないだけだったんで、
アドレスの指定を = Application.Path に書き換えてバージョン関係なく動くようになった

ほかにも2・3個直したけど、どれもみんな
その程度のどうでも良いところがエラーになってるだけだった
0927名無しさん@そうだ選挙にいこう2015/07/19(日) 21:18:22.46
path決め打ちは結構多いよね
指定のフォルダに入れておかないと不具合が出るとか。
0928名無しさん@そうだ選挙にいこう2015/07/19(日) 21:21:59.24
エクセルのマクロってどうやって勉強しましたか?
0929名無しさん@そうだ選挙にいこう2015/07/19(日) 21:39:20.87
>>928
最初は参考書のマクロを一日中いじくってたな。 とにかく四六時中だよ。
0930名無しさん@そうだ選挙にいこう2015/07/19(日) 21:41:26.64
>>929
いじくるための「作業」があることが幸せだ。
ふつうに勉強する者にとって「作業」がないから深く慣れ親しむことができない。
どのようなことをして一日中いじくることができたのですか?
0931名無しさん@そうだ選挙にいこう2015/07/19(日) 21:52:20.62
最初のきっかけは自分の仕事を楽にするためだったな
てか、何の生産性もあがらないのに
ただ勉強するだけなんてそんなゆとりはないよ
0932名無しさん@そうだ選挙にいこう2015/07/19(日) 21:55:08.71
>>931
同じく

サイトや本をみてサンプルをいじって・・・ってのはオススメ出来ない。覚える気にならない
実務があれば一瞬で覚える
このスレの問題でも説いていたらいいんじゃないか
0933名無しさん@そうだ選挙にいこう2015/07/19(日) 21:56:37.79
元になるマクロがあれば見て弄って遊びながら覚えられる部分もありそうですが、エクセルのツールをネットからDLしたらロックかかってるんですよね。
まあ当然ですけど。
0934名無しさん@そうだ選挙にいこう2015/07/20(月) 08:30:18.44
マクロの記録を改造するとか
0935名無しさん@そうだ選挙にいこう2015/07/20(月) 14:37:28.64
vbaに限った事じゃないがプログラムってそもそもマニュアルとか説明書ってないよね
ネットや書籍見ないとどう書いたらいいかまず分からない
0936名無しさん@そうだ選挙にいこう2015/07/20(月) 14:52:02.46
>>935
あなたが頭の悪い文系だからでは?
理系頭ならそういうことはすべて自分の頭で自然にあたりまえのように解決しているんだよ。
0937名無しさん@そうだ選挙にいこう2015/07/20(月) 15:00:32.75
理系だろうが文系だろうが 言語仕様読まずに新しいプログラム言語なんてつかえませんけどねえ
0938名無しさん@そうだ選挙にいこう2015/07/20(月) 15:11:02.17
言語仕様ってどこで公開してるの?
0939名無しさん@そうだ選挙にいこう2015/07/20(月) 15:15:43.04
help?
0940名無しさん@そうだ選挙にいこう2015/07/20(月) 15:23:09.78
>>938
公開場所や方法は言語による
VBAで公式な物はヘルプかネット(MSDN)かな
昔は公式な書籍とかCD-ROMなんてのも出てたけど、今も出てるかどうかは俺は知らん
0941名無しさん@そうだ選挙にいこう2015/07/20(月) 15:23:33.05
【1 OSの種類         .】 Windows7?
【2 Excelのバージョン   】 Excel10?
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

シートの一部をグループ化します。
校閲でシートを保護します。

グループ化したところが動きません(´;ω;`)
さわって欲しくないセルを保護しつつ、グループ化したところを出したり引っ込めたりすることはできますか?
0942名無しさん@そうだ選挙にいこう2015/07/20(月) 16:02:26.34
亀レスですが・・・

>>889
情報有難うございました。
ランサーズ、登録してみました。

>>897
なんとプロでは無いとは!
逆に言えば、努力次第では専業のプロでなくともここまでの技術が付くものなのですね!!
(当然、個人の資質が占める割合も多いとは思いますが)

あと、レスを頂いて気づいたのですが、
『 各部分の個別の長さ 』 が必要になる場面、確かに出てきますね。

蛇足になるかもしれませんが・・・
今回体積を求めた物体(?)の中には、様々な長さを持つモノが入っており、
それらの位置や重なりを求めることも重要な事だったりします。
(今はその段階まで作業が進んでいませんが・・・)

もっと場数をこなして、色々なことが出来るようになりたいですね。
09438212015/07/20(月) 19:04:49.60
>>942
>逆に言えば、努力次第では専業のプロでなくともここまでの技術が付くものなのですね!!
そんなに褒められてもただ恐縮するだけなんですが、やはりまずはやってみる事だと思います。
実は>>931も私なのですが、単調だけど作業量だけは多い仕事を受け持たされて
なんとか楽が出来ないかというのがマクロを使い始める最初のきっかけでした

エクセルVBAはエクセル自体が非常に多機能のソフトなんで割りと何でも簡単に出来ます
たまに難しい事をやりたいときにもネット検索で見つけたコードをチョコチョコ手直しするだけでなんとかなることが多いです
インターネットさまさまです


>『 各部分の個別の長さ 』 が必要になる場面、確かに出てきますね。

個別の長さは今も処理中で全て求めています
(各連結部分の位置が配列変数dat()に全て入ってますから、それの引き算で出せます)から、
それをどのように返り値として返すかだけの問題です

現状では「体積出せればそれで良いや」という妥協(手抜きとも言う)の下に途中経過は全部すっ飛ばしてるだけです

例えば、現在の taiseki("領域") の様に nagasa("領域"、"順番") という関数を新たに作って
「nagasa(B2:D5, X(任意の数)) とやると、X番目の部分の長さ(その部分の始点から次の部分と重なるまで)を返す」
みたいなことはすぐにでも実現できます
断面積の情報と組み合わせて、その部分だけの体積を求める関数も同様にすぐ作れます


>それらの位置や重なりを求めることも重要な事だったりします。

重なりの状況(どの部品とどの部品が重なっているか)についても割と簡単に求められます
(断面積を求める際に重なりの状況は逐一調べてますからそこをちょっと手直しすれば良いだけです)
位置については、むしろ断面積とともに入力で与えるべき情報なのではないでしょうか?

とにかく、もう少し詳しく要望を書いてくれたらそれなりに対応できると思いますよ
0944名無しさん@そうだ選挙にいこう2015/07/20(月) 19:18:11.78
>>942
免許制じゃないし
プロとアマの違いなんて無いだろう
どれだけやるか次第だと思う
0945名無しさん@そうだ選挙にいこう2015/07/20(月) 19:36:09.99
プロでもへっぽこプロがいればここみたいに暇アマが延々鍛錬して変な技術力に達している連中もいる
0946名無しさん@そうだ選挙にいこう2015/07/20(月) 20:20:46.10
会社にExcel課があれば課長くらいにはなれるだろうにね
0947名無しさん@そうだ選挙にいこう2015/07/20(月) 20:25:06.29
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


調達にかかるリードタイムがわかっている品目を
未来の特定の日に必要な量だけ
事前に発注するのを忘れないように
必要数を入力しておいたら、期日が近づいたら
色が変化してわかるように条件付き書式を設定したいです。

COUNTA関数で、とりあえず範囲内に何かあれば色を変えるのは出来たんですが
何か数字が入っている+それがリードタイム内に入った場合に色を変える方法がわからない段階です。

たとえば4行目だったら
H4のセルに数字があってリードタイムが4日なので
7月21日になったら
A4のセルを色で塗りつぶしたいのです。

どなたか方法をご教示いただけないでしょうか。


http://i.imgur.com/0zH9c0Z.png
0948名無しさん@そうだ選挙にいこう2015/07/20(月) 20:47:46.07
色で塗りつぶしても、Excelのデータにはならない。数値として残らないから後で検証もできないしフィルタリングもできない
こういうのはタテに日付、アイテム、使用日、発注日ていう列をつくったほうがいいよ 
整形・集計はピボットでやればいいから
0949名無しさん@そうだ選挙にいこう2015/07/20(月) 20:49:05.67
× タテに日付、アイテム、使用日、発注日ていう列をつくったほうがいいよ
○ 日付、アイテム、使用日、発注日ていう列をつくってタテに伸ばしたほうがいいよ
0950名無しさん@そうだ選挙にいこう2015/07/20(月) 20:59:32.36
データの作り方についてご教示ありがとうございます
自分で1から作れる際には是非参考にさせていただきます

今は、基本的な構造は画像の通りなのですが
すでに何十行とありずっと使い続けられているシートに手を入れるうえに
この形に慣れ親しんでいる方が必要数を入れ、他の方がそれを見て発注をするという
自由の利かない状況でして、Excelをほとんど1から学んでいる身としては頭を抱えているところです
0951名無しさん@そうだ選挙にいこう2015/07/20(月) 22:12:58.41
>>950
どんな経緯で貴方が面倒見る事になったの?
0952名無しさん@そうだ選挙にいこう2015/07/20(月) 22:25:53.18
>>947
リードタイムが何か分からんのだけど、注文してからの製造期間みたいなもん?
あとこれは20日締めで固定ってことでいいのかな?
それと>>951は気にしなくていいと思う
0953名無しさん@そうだ選挙にいこう2015/07/20(月) 22:34:02.51
直接Excelに関するものではないので、スレ違いだったらごめんなさい
>>947,950 実務上の問題点があると思います。
>7月21日になったらA4のセルを色で塗りつぶしたい
7月25日に必要→リードタイムは4日→7月21日にブックを開いたらセルが塗りつぶされてる
というやり方だと、7月21日が勤務日ではない場合に見過ごしてしまいます。
あなたの会社の休業日も考慮に入れた○日前、という判断も必要ではありませんか?
単純にカレンダー通りの○日前でいいのであれば別ですが。
0954名無しさん@そうだ選挙にいこう2015/07/20(月) 23:01:34.46
>>952
951だがどういう意味?

例えばエクセル何も判らない上司や先輩が自分より立場が弱い者に押し付けた場合なら
担当になった947はある程度の権限を与えられるべきじゃない?
仕様変更とかも含めて
0955名無しさん@そうだ選挙にいこう2015/07/20(月) 23:05:02.33
そんなことここで相談してどうするの
0956名無しさん@そうだ選挙にいこう2015/07/20(月) 23:14:39.96
>>947
テキトーだけどできたわ。っていうか酔っ払ってもうしんどくなってきたわ。わはは
リードタイムは当方知らないので、よく注意して実装してくれ
http://www.dotup.org/uploda/www.dotup.org426267.xlsx.html

ついでに言うと、A列の判定日数は、
=substitute(substitute(a2,"日",""),"サンプルA リードタイム","")*1
にして出すことも可能だが、ちょっとこわいな。多分やめておいた方がいい。

>>954
俺のカンだけど、この質問者はその辺もわかった上で変更不可能(もしくはここで相談したほうがはるかに楽)、
もしくは後々睨まれるような上司
というのがわかった上で、この糞かったるいワークシートを何とかしてるように見える
後は、俺が回答して解決するから以上の件はすべてどうでもいい
以上の理由だ
0957名無しさん@そうだ選挙にいこう2015/07/21(火) 05:31:46.94
>>954
どんなに使いやすくなったたとしても
仕様が変更するよりはそのままのほうがいいという人は多いからね
そういうのに対応するのが仕事ってもんだよ

特にこれ以上の出世の見込みがなく部下にやりたい放題できる上司は特に
09589472015/07/21(火) 07:42:16.99
>>956
ありがとうございます!
早速今日にでも頂戴したファイルで勉強させていただきたく存じます。
諸事情については概ねお察しいただいたとおりです。
私の立場では如何ともしがたく

>>954
自由が利けばよかったのですけどね><
0959名無しさん@そうだ選挙にいこう2015/07/22(水) 02:21:26.60
r
0960名無しさん@そうだ選挙にいこう2015/07/24(金) 00:45:30.57
Wordの子供にWordPadがいますが
Excelの子供はいないのですか?
0961名無しさん@そうだ選挙にいこう2015/07/24(金) 00:46:34.34
いないと思います
09629602015/07/24(金) 00:57:44.36
>>961
それをつくればもっとExcelが身近になると思いませんか?
0963名無しさん@そうだ選挙にいこう2015/07/24(金) 00:58:35.98
WordPadにはさらに子供のメモ帳がある(Wordから見れば孫)。
0964名無しさん@そうだ選挙にいこう2015/07/24(金) 01:09:32.89
>>962
思いません
中途半端に機能を絞る理由が何一つない
0965名無しさん@そうだ選挙にいこう2015/07/24(金) 01:13:22.85
>>964
初めてExcelをさわったあの春のことを思い出してみろよ。
こんな高機能なものは自分には使いこなせないと思っただろ?

あるいはもしあなたに子供がいれば
将来PCを使いこなせる大人になるために
Excelに似た道具にさわらせたいと思うだろ?

そのための簡易版ソフトがあったらいいという話だ。
0966名無しさん@そうだ選挙にいこう2015/07/24(金) 01:16:45.34
>>965
入社直後に触ったのがエクセルだったな
これをマスターすれば100%楽になるというカンが働いて、入社直後からずっと使い続けてきた。正しかった
あの直感は今でも忘れられない。
簡易版なんて反吐が出るわ。そのまま使え

ワードは未だに差し込み印刷とか検索しないと使えねぇ
0967名無しさん@そうだ選挙にいこう2015/07/24(金) 01:39:46.47
足りない機能は使えないから欠陥になるが
多過ぎる機能は使わなければいいだけ
0968名無しさん@そうだ選挙にいこう2015/07/24(金) 02:11:33.81
初心者用に簡略UIがあってもいいかもしれないな。数式もロクにかけないのに数式の分析ボタンなんて邪魔なだけだろうて
機能自体を削るのは互換性などの問題から100%ありえない
0969名無しさん@そうだ選挙にいこう2015/07/24(金) 08:15:02.36
VBA無しバージョンは在ってもいいけどな
セキュリティ問題で
0970名無しさん@そうだ選挙にいこう2015/07/24(金) 08:15:22.90
簡易版っていっても、それを作るのは難しいんだからな
0971名無しさん@そうだ選挙にいこう2015/07/24(金) 08:35:51.86
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 可

VBAでデバック中にハングアップしてしました。
以後、同じモジュールを使おうとすると【エクセルは動作を停止しました】ど出てプログラムが終了してしまいます。
何度やっても同じなのでモジュールの開放で消そうとしたら、またハングアップ。
VBからコードは読めてBSである程度は消せるのですが途中まで行くとまた終了してしまいます。
新しいマクロは普通に作れてVB画面から動作も開放も出来ますが【開発】のマクロをクリックしただけで終了します。
結局、officeをネット経由で再インストールしましたが、やはり同じでした。
特定のモジュールが悪さをしているのだと思いますが、これを消す手段があるでしょうか。
0972名無しさん@そうだ選挙にいこう2015/07/24(金) 09:17:21.47
じゃあWordPadの存在意義はなんだ?
そういやWordやExcelの入門書みたいなのは本屋で見かけるけど
WordPadの入門書は見たことがないぞ。
0973名無しさん@そうだ選挙にいこう2015/07/24(金) 09:56:07.53
>>971
xlstartか個人設定あたりのファイルがおかしくなってそう
上記の単語で検索してファイルを消すか、OSごと再インストールしたほうが早そう

>>972
知るかよwww
win7に入ってる事自体今知ったわ。
0974名無しさん@そうだ選挙にいこう2015/07/24(金) 10:14:00.02
>>973
さっきまでWordPadさわってたけど
思ったよりかなりシンプルだね。
ページの概念がないし、スタイルももちろんない。

Wordの機能が100とすると、このWordPadの機能は5くらい。
0975名無しさん@そうだ選挙にいこう2015/07/24(金) 10:15:44.40
このWordPadは1時間くらいさわるだけで
その機能や使い方を自分で発見しマスターし理解できて
まるで自分が神になったような感覚が得られるぞ。

みんなも試してみ。
0976名無しさん@そうだ選挙にいこう2015/07/24(金) 10:17:36.47
全機能をな。< マスター

あるソフトウェアに知らない機能がついてあると不安になったり気持ち悪くなるような人には
このWordPadは神ソフトだと思う。
0977名無しさん@そうだ選挙にいこう2015/07/24(金) 10:20:05.95
>>964
じゃオレがExcelPadというソフトを作ってやろうか?
0978名無しさん@そうだ選挙にいこう2015/07/24(金) 10:35:45.75
>>960がwordの子供って何言ってるんだって思ったけど、最近のはwordにGUIがそっくりなんだな
昔はぜんぜん違うUIだった

数年に一回、rtfだっけ?リッチテキスト文書を読む機会に恵まれ、その時に起動するアプリ
>>977
時間の無駄だからやめた方がいい
「○○の機能はないんですか?」「○○の機能は必須でしょ」
となって機能を追加していった結果、ごちゃごちゃで低機能な使いにくいexcelモドキができるのがオチ

昔2chブラウザ作った時に経験したわ
0979名無しさん@そうだ選挙にいこう2015/07/24(金) 10:42:09.81
>>976
俺はぜんぜん気持ち悪くならないけど、
そういう人はExcelなんて気持ち悪くてしょうがないだろうね
(さらにいえばWindows自体が気持ち悪くて使えなくなりそうだけど)

ていうかExcelの全機能を使いこなせる人間って世界中に何人いるんだろう?
MOSエキスパート程度じゃぜんぜんお話にならないよね
09809712015/07/24(金) 10:46:43.27
>>973
xlstartのPERSONALファイルを外したら上手くいきました。
大感謝!! ありがとうございました。
0981名無しさん@そうだ選挙にいこう2015/07/24(金) 11:55:27.12
こんな話題に加わる気は無かったが 喩えるならメモ帳はWordの曽祖父ちゃんだろ 時系列無視するなよ
機能・性能面から見たってご先祖系の位置付けじゃねーのか? 質素なExcel欲しいなら Excel 4.0 とか
ロータス1-2-3(MS-DOS版)触ってみりゃいいんだ どう機能が足されてきたかよーく判るから
0982名無しさん@そうだ選挙にいこう2015/07/24(金) 12:17:57.08
>>972
素のWinに付属
Officeのプロダクトキー失くしても使える
0983名無しさん@そうだ選挙にいこう2015/07/24(金) 12:26:12.88
>>982
オフィスが入ってないPC購入者に対するワード紹介の位置付けでもあるのかもな
0984名無しさん@そうだ選挙にいこう2015/07/24(金) 13:08:17.46
次スレは何処?
0985名無しさん@そうだ選挙にいこう2015/07/24(金) 13:50:50.57
【1 OSの種類         .】 Windows07
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

どうしてもわからず,質問させて頂きます…。
数値毎でのソートを行いたいのですが,

1 |19
1 |18
1 |20
2 |15
2 |14
3 |10
といった配列がある時に,

1 |2 |3 |
19 |15 |10 |
18 |14 | |
20 | | |

上記のようにソートしたいのですが,何か方法はあるでしょうか?
0986名無しさん@そうだ選挙にいこう2015/07/24(金) 13:52:46.29
>>985
1 |19
2 |15
1 |18
1 |20
2 |14
3 |10
こうなったりしない?
0987名無しさん@そうだ選挙にいこう2015/07/24(金) 13:59:20.61
>>986
レスありがとうございます。
申し訳ありません,良く分からないです…。何か法則性のある並び方なんでしょうか?
0988名無しさん@そうだ選挙にいこう2015/07/24(金) 14:00:21.27
>>987
左は必ず昇順に並んでる?
>>986だと2を1の間に挟んで昇順でなくしたんだけど
0989名無しさん@そうだ選挙にいこう2015/07/24(金) 14:03:33.96
>>988
昇順でなくする事は出来ます。
データ数は全部で1000を超える多量ですが…。
0990名無しさん@そうだ選挙にいこう2015/07/24(金) 14:03:38.42
次スレ建てた

Excel総合相談所 119 [転載禁止]&#169;2ch.net
http://peace.2ch.net/test/read.cgi/bsoft/1437713605/

テンプレの無理強いっぽい部分は適当に改変した
例え質問者がちゃんとしてなくても答えたい人が答えるのはその人の自由
答えたくない人は黙ってスルーしよう
0991名無しさん@そうだ選挙にいこう2015/07/24(金) 14:07:46.69
>>990
おっつん
0992名無しさん@そうだ選挙にいこう2015/07/24(金) 14:19:20.10
>>989
http://www.dotup.org/uploda/www.dotup.org431646.xlsx.html
はい

小数誤差が起こったのでそこらじゅうで10倍とかにしてるが気にするな
0993名無しさん@そうだ選挙にいこう2015/07/24(金) 14:19:52.66
>>990
乙
テンプレ読んでないしなんでもいいや
0994名無しさん@そうだ選挙にいこう2015/07/24(金) 14:24:27.52
>>992
す、凄い!
ありがとうございます!!感激です!!
0995名無しさん@そうだ選挙にいこう2015/07/24(金) 14:36:45.12
>>990
乙乙
0996名無しさん@そうだ選挙にいこう2015/07/24(金) 14:53:30.98
うめしば
0997名無しさん@そうだ選挙にいこう2015/07/24(金) 14:56:12.97
こうめちゃん
0998名無しさん@そうだ選挙にいこう2015/07/24(金) 15:05:18.28
うみ
0999名無しさん@そうだ選挙にいこう2015/07/24(金) 15:10:18.85
梅三郎
1000名無しさん@そうだ選挙にいこう2015/07/24(金) 15:11:31.21
千
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。