Excel総合相談所 134 at BSOFT
[2ch|▼Menu]
[前50を表示]
100:名無しさん@そうだ選挙にいこう
19/02/26 17:29:38.37 .net
>>99
c列と言われても・・・?としか
要は
・ピボットテーブル
・作業列
・配列数式
のどれかだと思う

101:97
19/02/26 17:58:13.90 .net
>>98
シートごとに.xlsxに移行して追い詰めていったら、
マイナス符号で始まる文字列が #NAME エラーになっていました。
解決しました。ありがとうございました。

102:名無しさん@そうだ選挙にいこう
19/02/26 18:18:04.86 .net
>>99
sumifs

103:名無しさん@そうだ選挙にいこう
19/02/26 18:35:56.85 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
EXCELの共有ブック機能について質問です
共有ブックは複数ユーザが同時に編集し、変更保存時に自分の変更したセルが
編集中に他ユーザによって変更されていた場合には、どちらの変更を反映するか
選択できるということは理解できたのですが、
自分の変更したセルを参照しているセルについてはどういう振る舞いになるのでしょう?
たとえば、共有ブックFoo.xlmsの自動計算Sheet1で、A1セルとB1セルに1が入っており、
C1=A1*B1だった時、このブックを太郎と花子が同時に編集したとします
太郎はA1の値を1から2に変更しB1は触っていません。C1は自動計算で2となっています。
花子はB1の値を1から3に変更しA1は触っていません。C1は自動計算で3となっています。
先に太郎が変更を保存した後、花子がブックを保存しようとした時、C1については
変更反映選択のダイアログは出るのでしょうか?
選択できないとしたら、C1は6になって保存されるのでしょうか?
誰の変更を反映するか選択できるとしたら、
 太郎の変更(A1=2、B1=1(変更無し)、C1=2)
 花子の変更(A1=1(変更なし)、B1=3、C1=3)
だけでなく
 太郎&花子の変更(A1=2、B1=3、C1=6)
を選ぶことはできるのでしょうか?

104:名無しさん@そうだ選挙にいこう
19/02/26 18:48:07.95 .net
>>99
=SUMIFS(C2:C200,A1:A200,"国",C2:C200,">=30")
30点未満が赤点で2行目から200行目までデータがある場合

105:名無しさん@そうだ選挙にいこう
19/02/26 18:49:24.56 .net
A1→A2の間違い

106:名無しさん@そうだ選挙にいこう
19/02/26 19:14:13.34 .net
>>99
sumproductでいける気がするけど
後で作ってみるか

107:名無しさん@そうだ選挙にいこう
19/02/26 21:18:25.92 .net
合計処理してるセルを選択すると、合計元のセルに色がつくとかできますか?

108:名無しさん@そうだ選挙にいこう
19/02/26 21:52:57.43 .net
>>107
出来ますよ

109:名無しさん@そうだ選挙にいこう
19/02/26 22:35:50.28 .net
vbaじゃなくて初歩的なグラフの作り方で困っているのですが、質問したらスレチでしょうか?
探しても見つからなくてそういうスレがあるなら誘導していただけると幸いです...

110:名無しさん@そうだ選挙にいこう
19/02/26 22:52:57.52 .net
>>108
VBAですか?

111:名無しさん@そうだ選挙にいこう
19/02/26 23:28:54.77 .net
>>110
はい。VBAです。

112:名無しさん@そうだ選挙にいこう
19/02/27 00:26:02.89 .net
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
一枚目みたいにつくりたいのですが、どうしても二枚目みたいになってしまいます。
どなたかご教示いただけないでしょうか?

113:名無しさん@そうだ選挙にいこう
19/02/27 00:32:18.02 .net
>>111
やりかたおしえて

114:名無しさん@そうだ選挙にいこう
19/02/27 03:17:26.18 .net
>>103
環境がないから回答できないんだけど、
自分でやった方が早い気がする
>>107
 数式→参照元のトレース
>>112
データラベル
URLリンク(i.imgur.com)

115:名無しさん@そうだ選挙にいこう
19/02/27 05:13:21.04 .net
>>112
グラフの種類が違う
100%積み上げグラフと積み上げグラフ

116:名無しさん@そうだ選挙にいこう
19/02/27 05:49:44.07 .net
>>112
合計の%をデータラベルで表示したいということか?
100%積み上げ縦棒グラフでなくて、ただの積み上げ縦棒グラフで作る。
・百分率の系列に「合計」も作っておく。
・グラフ上の合計の系列は「塗りつぶしなし」
・追加したデータラベルは、合計の系列だけラベルの位置で「内側軸寄り」
・縦軸の最大値が自動だと倍のレンジになるので、手動調整

117:名無しさん@そうだ選挙にいこう
19/02/27 06:42:53.90 .net
【1 OSの種類    】 Windows7
【2 Excelのバージョン】 Excel2016
【3 VBAが使えるか  】 否のようなそうでもないような
【4 VBAでの回答の可否】 できれば回避したい
日ごとにシートを作っている集計シートで、全シートの同じセルを参照して合計を出しているセルがあります
シートに行を足したり列を足したりした場合、そのシートにかかわるところだけが自動的にシフトするのですが他のシートを参照している部分は変わらないのです(当然ですが)
これを自動的にずらす、方法はないでしょうか?そもそも全シートを参照するのにずらっと全シートの参照式を並べて足している状態です
vbaならシート名を変数にしてしまって全シート集計容易なのはわかってます
が、使う側が「マクロ?なにそれおいしいの?なんでボタン押す手間いるの?」なので…

118:名無しさん@そうだ選挙にいこう
19/02/27 06:51:41.71 .net
>>117
串刺し集計なら無理っぽいな

119:名無しさん@そうだ選挙にいこう
19/02/27 07:11:25.56 .net
>>118
vbaにした方が早いんかな…
前回列足されてずれてて集計ミスが発生したもので
そう列は足す事はないとは思いますが…
vbaなら見出しを参照してその行を自動的に拾い出すぐらいで組めそうなんですが
関数でそれを実装するとセルにどれだけの関数を押し込めなきゃならんかと思うとちょっと
fornextって関数にないですよね?
vbaにしたらしたでさかのぼって7日間のみのデータを随時集計して色々役立てる事はできるので導入はしたいのですが、
なにぶんにも運用する上司がまるっきり知識ないので

120:名無しさん@そうだ選挙にいこう
19/02/27 07:13:43.59 .net
日付をキーにindexmatchとかvlookupして足すのは?

121:名無しさん@そうだ選挙にいこう
19/02/27 07:15:32.80 .net
あ、勘違いしてました

122:名無しさん@そうだ選挙にいこう
19/02/27 07:24:09.81 .net
各シートの集計欄に名前をつける

123:名無しさん@そうだ選挙にいこう
19/02/27 09:13:23.32 .net
>>117
各シートで参照する合計セルが1つなら、
A1固定にしてしまえば、少しは楽?
合計行か合計列のどちらかなら、
1行目かA列に寄せてしまうとか。
で、
FIND、ADDRESS、MATCH、INDIRECT
を組み合わせて、縦横セル番地を特定するとか。
ただし、日別のシート名指定は
手動になるかも知れない。

124:名無しさん@そうだ選挙にいこう
19/02/27 12:09:00.61 .net
みなさんありがとうございます
>>122がいけそうですね
それか集計シートを別に用意してそこで集計させるか(そうしたら自動でずれるかな?)

125:名無しさん@そうだ選挙にいこう
19/02/27 21:12:25.74 .net
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
数値の表示形式で数値の桁数より少ない下の桁だけ表示する方法はありますか?
例えば数値が 12345678 のとき 345678 だけ表示。
または日付の表示形式で日や月日が不明の時に00と表示する方法。
例えば2019年?月?日は 190000、2019年2月?日は 190200 と。
ただし数値として並べ替えが可能なもの。

126:名無しさん@そうだ選挙にいこう
19/02/27 21:18:51.10 .net
>>125
Excel のセルの表示形式で [ユーザー定義] に使用できる書式記号について
URLリンク(support.microsoft.com)
>例えば数値が 12345678 のとき 345678 だけ表示。
無い
>不明の時に00と表示する方法。
がどう入力されているかが分からない
>例えば2019年?月?日は 190000、2019年2月?日は 190200 と。
>ただし数値として並べ替えが可能なもの。
両立は無理

127:名無しさん@そうだ選挙にいこう
19/02/27 21:56:56.83 .net
>>125
そんな変態的な機能はあるはずない

128:名無しさん@そうだ選挙にいこう
19/02/27 22:15:07.34 .net
上のはright関数で固定桁なら表示できるんじゃね

129:名無しさん@そうだ選挙にいこう
19/02/27 23:00:25.43 .net
>>125
どのセルに何の数値が入っているのか具体的に言ってくれれば回答しやすいな

130:名無しさん@そうだ選挙にいこう
19/02/28 00:45:09.09 .net
(いやエクセルって結構変態的なソフトだと思う…)

131:名無しさん@そうだ選挙にいこう
19/02/28 01:04:49.03 .net
>>125
> 例えば数値が 12345678 のとき 345678 だけ表示。
RIGHT関数で、例えば下6桁を取り出せるけど、
結果は文字列扱いになってしまうので、
=VALUE(RIGHT(当該セル,6))
では?
> 例えば2019年?月?日は 190000、2019年2月?日は 190200 と。
似たようなことをやったことがある。
元セルの日付は"?"が混じっているから、
日付書式データではないと思うので、文字列として、
LEFT、MID、FIND関数で当該値を抽出するとして、
(VALUE関数も被せる必要があるかも?)
=年*10^4+月*10^2+日
を基本に、
IF(月="?",0,月*10^2)
とか、
IF(ISNUMBER(月)=TRUE,月*10^2,0)
とか、
IFERROR(月*10^2,0)
なんてのを中にはめ込んだら?

132:名無しさん@そうだ選挙にいこう
19/02/28 04:25:39.41 .net
>>128
>>131
>>127が変態的な機能という言い方しているのは
>>125が、「数値の表示形式で」という指定をしているからじゃ・・・
つまり作業列を使わず同じセル内で変えて欲しい模様

133:名無しさん@そうだ選挙にいこう
19/02/28 12:27:17.20 .net
indirect関数がよくわからん。

134:名無しさん@そうだ選挙にいこう
19/02/28 12:49:31.80 .net
>>133
重くなるけど超便利だぞ
普通の数式で出来ないことができるようになる

135:名無しさん@そうだ選挙にいこう
19/02/28 13:25:17.29 .net
indirect関数は作業列と併用すると視認性も良いな

136:名無しさん@そうだ選挙にいこう
19/02/28 14:02:04.97 .net
参照先のシートが差し替えられる事がある場合もINDIRECT使う

137:名無しさん@そうだ選挙にいこう
19/02/28 14:13:39.43 .net
シート消しても参照エラーにならないのは強いよな

138:名無しさん@そうだ選挙にいこう
19/02/28 16:19:39.32 .net
>>125
6桁分のセル幅に納めるのが目的なら、表示形式を文字列、配置を右寄せに。
これなら不明の00も、1999年以前の並べ替えも可能。
ただし、文字列とした後に入力した値は文字扱い、
入力済み値のセルを文字列としたのは数値扱いなので、
並べ替えを可能にするにはfixed関数で数値を文字列化が必要。

139:名無しさん@そうだ選挙にいこう
19/02/28 21:30:08.89 .net
>>134
まじでか。理解して応用効かせたいよ。
てかここにいる人、みんなすげーなー。なんでそんなにポンポンと関数やらVBAがでてくんの?仕事でしてるから?Excel漬けの毎日が数年続いてるから?

140:名無しさん@そうだ選挙にいこう
19/02/28 22:18:41.91 .net
別にExcel漬けじゃないけど、Windows95の頃から使ってるから、もう20年以上になる
だけど知らない関数も多い
統計とか使ったことないし

141:名無しさん@そうだ選挙にいこう
19/02/28 22:56:47.90 .net
15年ぐらい使ってるな。これ覚えれば絶対に楽できると確信した
15年前の俺はよくやった
そして更にvlookupとvbaを覚えた時も衝撃走った

142:名無しさん@そうだ選挙にいこう
19/02/28 23:28:49.99 .net
>>141
俺の中ではlookup系の関数は使えない関数ってことで捨てたんだけど
そんなにいいものなのか?
個人的にはmatch関数ですべてまかなえる気がしてる

143:名無しさん@そうだ選挙にいこう
19/02/28 23:35:15.65 .net
vlookupで衝撃→indexmatchで衝撃→sumproductで衝撃
sumproduct古い関数なのになんでこんなに使えるの?
それとももっと有能がある?
基本的な使い方は
sumproduct((○=縦)*(△=横),配列2)
なんだけど

144:名無しさん@そうだ選挙にいこう
19/02/28 23:46:49.84 .net
CSE最近知りました、衝撃!!
Excelなめてました、ごめんなさい。

145:名無しさん@そうだ選挙にいこう
19/03/01 01:16:03.25 .net
>>142
indexmatchはvlookupの上位互換だけど、
なんちゅーか便利な技だね。必須ではあるけど・・・
vlookupは新しい世界が開けたといっても過言ではない

146:名無しさん@そうだ選挙にいこう
19/03/01 07:22:55.92 .net
indexmatch派のメンツも、入り口はvlookupだっただろうし、最初に衝撃うけたってだけかとw
sumproductは便利だからすぐ使いたくなるけど
重くなりすぎに注意ってとこがな・・・
使い始めた頃は、色んなサイトに例で出てくるrow関数に惑わされた

147:名無しさん@そうだ選挙にいこう
19/03/01 07:39:36.70 .net
作業列を有効に使う事も大事だと思う
恰好悪いとか思ってる人もいるが長い数式ほど迷惑なものは無い
趣味で自分しか使わないなら構わないが

148:名無しさん@そうだ選挙にいこう
19/03/01 17:28:30.02 .net
画像の説明通りですが
2つの数値の差を
+−表示で別のセルへ表示したいのです。
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
画像です。
URLリンク(i.imgur.com)
宜しくお願いします。

149:名無しさん@そうだ選挙にいこう
19/03/01 17:56:43.63 .net
>>148
多分書式設定でやったほうが良い
=b1-a1
URLリンク(i.imgur.com)
ユーザー定義に入力するのは以下
+0.00;-0.00;±0.00;@
数式がいいなら
=IF(A1=B1,"±",IF(A1>B1,"-","+"))&ABS(A1-B1)

150:名無しさん@そうだ選挙にいこう
19/03/01 18:12:34.51 .net
やっぱ書式でしょう

151:名無しさん@そうだ選挙にいこう
19/03/01 18:19:02.04 .net
あとで計算に使わないならお手軽にTEXT関数でもいけるんじゃないの
=TEXT(B1-A1,"+0.00;-0.00;±0")
パーセント表示のとこの実際の値がどうなってるかわかんないけど

152:名無しさん@そうだ選挙にいこう
19/03/01 21:50:13.83 .net
Multiplanが染みついているので、余程でないとただのLOOKUPしか使わない。

153:名無しさん@そうだ選挙にいこう
19/03/02 07:47:56.35 .net
vlookupはエポカルクで覚えた。

154:名無しさん@そうだ選挙にいこう
19/03/02 10:48:47.55 .net
文字列IDの最小値を取りたいのだけど、できなくて。お知恵を貸してください。
やりたいことは、ID列の先頭文字でカテゴリしてその中の最小値を取る!です。
以下の0始まりだと、「001001」を取りたい
ID列
001001 ※取得
001002
100001
100002
200001
200002
最大は、TEXT(MAX(INDEX((LEFT($A$2:$A$7,1)=TEXT(0,"0"))*$A$2:$A$7,0)),"000000")みたいなので取れたんだけど。最小は上のやり方だと0始まり以外の配列要素が0になってしまって、0が取れてしまう。
マクロでやれば簡単なんだけど、計算式でやりたいっす。

155:名無しさん@そうだ選挙にいこう
19/03/02 12:04:04.22 .net
>>154
0&"000000"で無理やり1桁増やすとか

156:名無しさん@そうだ選挙にいこう
19/03/02 12:50:37.04 .net
なんとなくけど、"-"を付与してminで取れば行けそうな気がするんだけど0も-0になってるみたいで無理だった
=MIN(INDEX((LEFT("-"&$A$2:$A$700,2)=TEXT(0,"-0"))*$A$2:$A$700,0))

157:名無しさん@そうだ選挙にいこう
19/03/02 12:51:30.65 .net
違うわ、>>156は多分失敗してる

158:名無しさん@そうだ選挙にいこう
19/03/02 13:33:45.23 .net
>>154
作業列使い単純に数値化してMINじゃいかんの?
意味がよく判らん

159:名無しさん@そうだ選挙にいこう
19/03/02 13:47:58.62 .net
フォームボタンクリックで、あるシートを表示するVBAを書きました。
ただ非表示シートを表示させるだけじゃなくて、
そのときの条件で、シート内の文言やラジオボタンたちの表示/非表示が違うので、
if **** then *****.visible = true みたいなことをずっと書いてあります。
しかし、命令通りに非表示/表示がされないことがあります。非表示のはずのボタンが
出ていたり、その逆があったり。
これは、処理スピードのために、命令全体を、
application.EnableEvents = false  後はtrue
application.ScreenUpdating = false  後はtrue
application.Calculation = xlCalculationManual  後はxlCalculationAutomatic
で挟んだせいだと思います。
ですので、いちばん最後に、「いったん表示をリフレッシュ」みたいな命令を出せばいいんじゃないかと
思うのですが、そういう命令ってありますでしょうか?

160:名無しさん@そうだ選挙にいこう
19/03/02 13:49:54.95 .net
>>154
配列数式。
=MIN(IF(IF((LEFT(A2:A5,1)="0"),A2:A5,FALSE)*1=0,FALSE,A2:A5*1))
URLリンク(imgur.com)
falseと文字列の評価を同時にするとどうしてもfalseが0になるので、ネストにするしかなかった
他に方法はあるかもシレンが、もういいや
色々こね回して一時間掛かったけど楽しかったぞ
>>158
マクロ使えるぐらいだし、作業列使わない方法を効いてるんだろう
これは実務じゃなくて半分遊びだな

161:名無しさん@そうだ選挙にいこう
19/03/02 13:59:06.14 .net
>>159
vbaにリフレッシュ無いっぽい
>そのときの条件
これが再計算や描画が影響するものなら高速化を外したほうが良いと思う
言うてもそんなに変わらんでしょ

162:名無しさん@そうだ選挙にいこう
19/03/02 14:29:28.32 .net
>>161
それが、かなりスピードが違うんです。10倍近く。

163:名無しさん@そうだ選挙にいこう
19/03/02 14:42:43.43 .net
コード見ないとわからないな
ちなみに何秒ぐらい変わるの?頻度は1日何回ぐらい?
10倍はどうでもいいぞ

164:名無しさん@そうだ選挙にいこう
19/03/02 14:45:37.50 .net
>>163
使用頻度は1日100回くらい。
10秒以上かかってるのが1秒になる。
せっかちな社員が使うから、
速くしておかないと「使えない奴」と思われるからまずい。

165:名無しさん@そうだ選挙にいこう
19/03/02 15:00:11.43 .net
シートを日数分追加したいのですが
31日分だったら31枚プラス集計の1枚といったかんじで
超絶面倒なのですが何かいい方法はありますでしょうか?
シートに日付も入れられるとすげー楽です。

166:名無しさん@そうだ選挙にいこう
19/03/02 15:09:28.79 .net
エクセルを使ったことがない初心者です。
ウィンドウズ10にエクセルソフトを入れたいのですが何を購入したらいいですか?
それから勉強もしたいのでお勧めの本とかありますか?

167:名無しさん@そうだ選挙にいこう
19/03/02 15:18:03.63 .net
>>164
うーん微妙だね
10秒ぐらいなら待ってもらえばいいと思うけど
これ以上はコード見ないと分からない。恐らく構成が変なのだろう
アップしてくれれば見るよ
>>165
Sub foo()
日数 = Day(DateSerial(Year(Date), Month(Date) + 1, 0))
For i = 1 To 日数
Set 新シート = Worksheets.Add(, Worksheets(Worksheets.Count))
新シート.Name = i & "日"
Next
End Sub
>>166
機能は制限されるけど、オフィスオンラインなら無料
URLリンク(products.office.com)
googleSpreadsheetも無料
URLリンク(www.google.com)
本はMOS試験の本でも買っておくと良い

168:165
19/03/02 15:25:05.24 .net
>>167
ありがとう!

169:名無しさん@そうだ選挙にいこう
19/03/02 15:34:27.66 .net
ありがとうございます。

170:165
19/03/02 15:38:35.48 .net
ぶぉ、スプレッドシートはVBAいけないんだw
まぁ当たり前か。
jsでかくのかぁ・・・

171:名無しさん@そうだ選挙にいこう
19/03/02 15:40:47.57 .net
本は超図解シリーズだべ

172:名無しさん@そうだ選挙にいこう
19/03/02 17:19:20.89 .net
なんでマイクロソフトはマクロ含むブックは
拡張子わけるようにしたわけ?いらんくね?

173:名無しさん@そうだ選挙にいこう
19/03/02 17:33:28.70 .net
>>172
分ける必要はある
一緒だとウィルスが危険すぎる

174:名無しさん@そうだ選挙にいこう
19/03/02 17:33:40.82 .net
ウィルスみたいなマクロだ

175:名無しさん@そうだ選挙にいこう
19/03/02 19:48:28.72 .net
>>160 
ありがとう!できたよ。
その他みんなもありがとう。
いろんな方法があったのだけど、MAXは簡単に実現できたのに
MINができなくて、計算式一発でやれる方法を模索をしてました。
ワーク列使ったり、マクロ使ったりすれば、実現できてはいたんだけど。
ありがとう!!

176:名無しさん@そうだ選挙にいこう
19/03/02 22:33:19.88 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
下記の画像のような表があるとして、どこかのセルに5と入力するとC列の9と10の平均の値を表示させるということは可能でしょうか?

URLリンク(i.imgur.com)

177:名無しさん@そうだ選挙にいこう
19/03/02 23:14:55.87 .net
>>176
C列全体なら8.5と思うが、
7.5と5はどこから来たんだい

178:名無しさん@そうだ選挙にいこう
19/03/02 23:32:18.20 .net
>>177
数字間違えてました。
9と10ではなく7と8です。
B列で5と入力されている行のC列の値を平均してセルに出力したい、ということです。
分かりづらくて申し訳ないです…

179:名無しさん@そうだ選挙にいこう
19/03/03 00:04:54.26 .net
>>178
=SUMPRODUCT((B:B=F3)*(C:C))/COUNTIF(B:B,F3)

180:名無しさん@そうだ選挙にいこう
19/03/03 00:10:25.42 .net
>>176 素人考えだけどe列に5を入れてどこかに平均出すセル作るとかなら
=AVERAGE(C1:indirect("c"&MATCH(5,E:E)))とか?

181:名無しさん@そうだ選挙にいこう
19/03/03 00:32:34.11 .net
>>178
=AVERAGEIF(B:B,F3,C:C)

182:名無しさん@そうだ選挙にいこう
19/03/03 00:36:39.41 .net
>181
あーそんなんあったな、初めて見たw

183:名無しさん@そうだ選挙にいこう
19/03/03 00:39:49.55 .net
>>181
これでできました!
皆様ご尽力ありがとうございました!

184:名無しさん@そうだ選挙にいこう
19/03/03 01:20:26.16 .net
エクセル作成の依頼をする場合どこがいいの?

185:名無しさん@そうだ選挙にいこう
19/03/03 01:26:48.47 .net
ここでもいいしソーシャルワーキングで検索してランサーズとかに頼んでも良い

186:名無しさん@そうだ選挙にいこう
19/03/03 01:33:58.73 .net
ここでもいいの?

187:名無しさん@そうだ選挙にいこう
19/03/03 02:10:17.21 .net
>>186
ここで大まかな仕様を説明してから捨てアドで詳細決めれば良いじゃん

188:名無しさん@そうだ選挙にいこう
19/03/03 03:21:50.18 .net
流石にお金払うレベルのものは、ここではやってくれないと思うぞ
軽く依頼するつもりでも、フタを開けてみると
依頼できるレベルに仕様がはっきりまとまっていない・・・なんて事もよくあるから
>>187 の言うように、詳細詰めるのはここで相談するのはアリだと思うけど

189:名無しさん@そうだ選挙にいこう
19/03/03 06:46:10.17 .net
>>186
3年くらい前ここで依頼された事あった
尼ギフト券で2万貰った

190:名無しさん@そうだ選挙にいこう
19/03/03 08:16:54.40 .net
捨てアドで直接やりとりしてその後お礼を渡すのなら可能なのかな?
まぁブッチされても知らんが

191:名無しさん@そうだ選挙にいこう
19/03/03 08:44:29.66 .net
189だけど
依頼主みずから前払いしてきたよ

192:sage
19/03/03 11:36:23.08 .net
▼━質問テンプレ (出来れば使ってね) ━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
入力フォーム上に設けられたテキストボックスの行数制限を行おうとしています。
下記のコードで対応しましたが、なぜかmsgboxの"行数は〜"が何度も表示され、do loopがうまくいってない気がします。
どこが間違っているのでしょうか?
If TextBox1.LineCount > 4 Then
MsgBox "行数は4行までに制限されています"
Do Until TextBox1.LineCount = 4
TextBox1.Value = Left(TextBox1.Value, Len(TextBox1.Value) - 2)
Loop
End If

193:名無しさん@そうだ選挙にいこう
19/03/03 11:54:45.28 .net
>>192
コード、かなり変だよ
使うのはdoloopじゃない
Private Sub TextBox1_Change()
If TextBox1.LineCount > 4 Then
MsgBox "行数は4行までに制限されています"
行テキスト = Split(TextBox1.Text, vbCrLf)
TextBox1.Text = 行テキスト(0) & vbCrLf & 行テキスト(1) & vbCrLf & 行テキスト(2) & vbCrLf & 行テキスト(3)
End If
End Sub

194:名無しさん@そうだ選挙にいこう
19/03/03 13:07:22.16 .net
>>184-191
とっとと死ねゴミクズ

195:名無しさん@そうだ選挙にいこう
19/03/03 13:12:34.04 .net
>>193
だけど言い忘れてた
テキストボックスをダブルクリックするとprivaet〜が表示されるからそこに突っ込む

196:名無しさん@そうだ選挙にいこう
19/03/03 15:55:19.09 .net
>>173
拡張子でわけなくてもいいじゃん

197:sage
19/03/03 16:30:03.85 .net
>>193
splitのようなものがあるのですね…初見でした
アドバイスありがとうございました

198:名無しさん@そうだ選挙にいこう
19/03/04 18:54:02.58 .net
求人サイトでよく書かれている「エクセルが使えるかた」の基準って何でしょうか?
使える関数は、
SUM、AVERAGE、IF、INDEX、MATCH、RANK、
LARGE、SMALL、LEFT、MID、RIGHT、OFFSET、
IFERROR、TEXT、SUBSTITUTE、MAX、MIN、
COUNT、COUNTIF、SUMIF、SUMPRODUCT
くらいです。
グラフは条件付き書式のデータバーやスパークラインくらいならできますが、
円グラフとかは全くできません。
マクロは実操作でアクションを覚えさせるのはできますがVBAのプログラミングは全くできません。
ビポットテーブルも全く分かりません。
「エクセルが使えるかた」に入りますか?

199:名無しさん@そうだ選挙にいこう
19/03/04 19:10:28.88 .net
>>198
微妙だけどグラフが勿体無いな
グラフだけ作れたらそう言っていいと思う。なんか知らんけど日本人はグラフ好きなんで
関数は十分
個人的にはindirectがほしいけど、offset使えるならまぁいいかな
後は書いてないけどandとorか、まぁ使えると思うけど
>グラフは条件付き書式のデータバーやスパークラインくらいならできますが、
>円グラフとかは全くできません。
とりあえず最低限グラフ作れるだけの技能は必要
といっても、表を選択して、挿入のグラフを選択するだけなので数秒でできる
ってか今練習して使えるようになれば良い。1分もあれば覚えるだろう
それと欲しいのは、グラフエリアの軸の書式設定は変えれるようになっておいたほうが良い。要は左端の数字の最小・最大・メモリの幅など
まぁそんだけできたら良い
後はそこら中を右クリックしまくって、なんとなく何をどう変えられるかを掴んでおくと大体どうにかなると思う
例として、10秒で作ったグラフ
URLリンク(i.imgur.com)
>マクロは実操作でアクションを覚えさせるのはできますがVBAのプログラミングは全くできません。
勿体無いな。恐らくマクロは触らされないとは思うが、もうちょっと覚えた方が後々良い
マクロは業務を全自動にできるので、君が退職した後も仕事を減らし続けることができる
俺は五人分ぐらい働いたぞ
時給は上がらんかったがな、ははは
>ビポットテーブルも全く分かりません。
これもグラフ同様覚えておいたほうが良い

200:名無しさん@そうだ選挙にいこう
19/03/04 19:15:42.64 .net
アイコンダブルクリックしてExcel起動、数値を入力したあとΣボタン押して合計を求め、ブックに名前を付けて保存
こんだけできれば「Excelできます」と言っていい
そんな職場も実在する
できないやつってのは、こんな基礎もとことんできないから

201:名無しさん@そうだ選挙にいこう
19/03/04 23:54:22.30 .net
>>198
データ処理をメインとする俺からすると少し足りないかな
if使うならis系の関数(isnumber, iserror, iseven他)便利なもの多いから覚えたほうがいい
他にもmatch, indirect + address, row, columnが理解できれば本当にできないことがないってくらい何でもできる

202:名無しさん@そうだ選挙にいこう
19/03/04 23:56:57.98 .net
Σボタンって何の事かわからんかった
多分10年以上押して無いけど、これってみんな使うの?

203:名無しさん@そうだ選挙にいこう
19/03/05 05:46:56.42 .net
>>202
個人的にはほぼ使わないけど知らないのは流石にヤバイレベル

204:名無しさん@そうだ選挙にいこう
19/03/05 05:53:01.15 .net
>>198
エクセル使える人に入る入らないという定義自体がもうどうでもいい感じだけど、入るとも言えるし入らないとも言える
でも「入らない」と言いたくなる、何故なら
・ピボットできないの厳しい
・円、棒、折れ線グラフ作れないの?
↑どれも範囲選択してポチっでボタン押すだけ、あとは微調整やら
普通の本が読める人ならやる気さえあれば15分ずつで解決する
それをやるかやらないかだけの話で、あとは正直に実務ではやったことないけど自己学習でやったことあると言えるかどうかなんでは?
あとIFERRORでVlookupのネスト(必要な数いくらでも)くらいはできて欲しいし、TRIM,LENあたりのデータ整える時必要ないのもできて欲しい
ピボットは、数字見る時話しながらショートカットでピボット作って、なんてことあるからそこでまごついているのってと思ってしまう

205:名無しさん@そうだ選挙にいこう
19/03/05 12:35:19.14 .net
>>198
自己申告だろうから
そのくらいなら自信もって使えますと言えばいい

206:名無しさん@そうだ選挙にいこう
19/03/05 12:39:58.36 .net
>>198みたいな具体性ない書き方は、大概大したスキルを求められてない
本当に高レベル求めるなら必要レベルの資格を書いてあるよ

207:名無しさん@そうだ選挙にいこう
19/03/05 13:35:31.60 .net
>>220
使わないとならないボタンでもないので、
また使わなくても手間がすごく増えるわけでもない
でも、使い始めたら結構つかうようになったよ。

208:名無しさん@そうだ選挙にいこう
19/03/05 15:49:15.06 .net
おせっかい機能がひどすぎて、小文字の「i」が入力できない。

209:名無しさん@そうだ選挙にいこう
19/03/05 18:07:27.49 .net
SHIFT押しながら7押して文字列を入力すれば関係なくなるような

210:名無しさん@そうだ選挙にいこう
19/03/05 22:11:41.52 .net
>>82
xlsxファイルの実態はzipファイルだしね。

211:名無しさん@そうだ選挙にいこう
19/03/05 22:23:43.95 .net
エクセルなんて利用者がめちゃくちゃいるから
わからないことなんてネット検索ですぐわかるようになる

212:名無しさん@そうだ選挙にいこう
19/03/05 22:45:43.02 .net
>>209
シングルコーテーションでしょ
あれってスペルチェック効かなくなるの?切ってるからよく知らんけど

213:名無しさん@そうだ選挙にいこう
19/03/06 14:13:57.35 .net
教えてください。
むちゃくちゃな編集を禁止するためにシートを保護しても、一部のセルだけは
「ロック」というところのチェックをはずしておけば、編集可能になりますが、
条件付き書式で、「編集可能=ロックされていない」セルだけは自動で背景色が変わると
いう設定にすることはできないのでしょうか?

214:名無しさん@そうだ選挙にいこう
19/03/06 16:45:26.63 .net
できない

215:名無しさん@そうだ選挙にいこう
19/03/06 17:42:40.84 .net
無理矢理なら、作業列にロックの場合1とか入れて、そちらを参照

216:名無しさん@そうだ選挙にいこう
19/03/06 18:14:43.44 .net
>>213
条件付き書式の設定
[次の数式を満たす場合に値を書式設定]
=NOT(CELL("protect",A1))

217:名無しさん@そうだ選挙にいこう
19/03/06 18:56:54.48 .net
凄い、これは勉強になった
無いと思ってたわ

218:名無しさん@そうだ選挙にいこう
19/03/06 22:15:56.68 .net
>>216
これnot関数って付ける必要ある?

219:名無しさん@そうだ選挙にいこう
19/03/06 23:02:18.28 .net
>>213
要件が
編集可能=ロックされて「いない」
なので

220:名無しさん@そうだ選挙にいこう
19/03/06 23:05:02.68 .net
▼━質問テンプレ (出来れば使ってね) ━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
以前から悩んでいることではあるのですが、ブック間の行の移動(カット&ペースト)がうまく処理できません。
今開いているブックの3行目をデスクトップのブックを開いて4行目位にコピーしたいとき
シンプルに書きたいのですが・・・・
Workbooks.Open Filename:="C:\Users\testman\Desktop\Book1.xlsm"
Rows(3).Cut
Workbooks("book1.xlsm").Worksheets("sheet1").Rows(4).Paste
Application.CutCopyMode = False
では、ダメなんでしょうか?
結局エラーがたくさん出て、最終的には各ブックやシートをアクティブにするといったことをやって10行近くのコードになるのが・・・
シンプルな方法はないのでしょうか?

221:名無しさん@そうだ選挙にいこう
19/03/06 23:41:14.48 .net
213が言っている内容すらわからない。

222:名無しさん@そうだ選挙にいこう
19/03/07 04:05:59.29 .net
>>220
Openすると、自動的に後で開いた方のブックがアクティブになるので、CutはOpenの前にしなきゃいけない
とりあえず行数を減らしたいだけなら、これでも一応動く
もっと大量のデータをコピペしたいなら、もう少し工夫が必要
Rows(3).Cut
Workbooks.Open Filename:="C:\Users\testman\Desktop\Book1.xlsm"
ActiveSheet.Rows(4).PasteSpecial

223:名無しさん@そうだ選挙にいこう
19/03/07 05:27:47.95 .net
かねがね疑問だったんだけど、
>>216みたいなときに、A1って書くの、なんかへんじゃね?
別途「このルールの適応範囲」を指定するわけだし、別にA1関係なくね?
これのせいで混乱するんだけど。
これ、「仮にA1ってことで、条件と書式を指定しておきますね」としておいて、
他の箇所で「この条件付き書式を適応するのは○○ですよ。A1関係ないですからね」って言ってる、
そういう理解でいいの?

224:名無しさん@そうだ選挙にいこう
19/03/07 06:43:15.04 .net
>>223
だめ、A1の保護状態でB1の書式変えたりすることあるから

225:名無しさん@そうだ選挙にいこう
19/03/07 07:29:56.93 .net
>>223
相対参照か絶対参照かで判断すればいいんじゃないかな

226:名無しさん@そうだ選挙にいこう
19/03/07 09:23:58.42 .net
ラウンドダウン使って報告値計算シート作ったら、上司にブラックボックスを使うなとボツにされた

ブラック・・・ボックス・・・?

227:名無しさん@そうだ選挙にいこう
19/03/07 09:33:43.36 .net
光のない世界

228:名無しさん@そうだ選挙にいこう
19/03/07 10:24:03.11 .net
>>226
スレチ
無能上司の下で働いてる事は同情するけど

229:名無しさん@そうだ選挙にいこう
19/03/07 12:18:57.08 .net
コメントで何をやっているか書いておけば大概解決する
何をやっているかわかれば、普通の人は細かいことを気にしないよ

230:名無しさん@そうだ選挙にいこう
19/03/07 12:59:06.48 .net
コメント付けると無能上司はバカにされたと思って逆ギレしかねないから
将来メンテの時に自分が忘れてしまうので付けたって事にしとけ

231:名無しさん@そうだ選挙にいこう
19/03/07 14:29:58.98 .net
thisworkbook.Sheets("日報").Range("C4:C50").SpecialCells(xlCellTypeConstants).ClearContents

これ、C4とかに値が入っている状態だと問題ないんだけど、
いちど値をクリアしてから実行すると、「該当するセルが見つかりません」って出てくる。
エクセルが、「クリアしようと思ったらもうクリアされてるじゃん。エラー出しとこ」と言ってるみたい。
そういうもんなの?

232:名無しさん@そうだ選挙にいこう
19/03/07 14:50:03.35 .net
>>231
そういうもんらしい
URLリンク(docs.microsoft.com)
>指定された条件を満たしているすべてのセル ( Range オブジェクト) を返します。
条件を満たすセルがないってエラーのようだ
あんまいらんエラーだな

233:名無しさん@そうだ選挙にいこう
19/03/07 16:50:13.45 .net
>>232
やっぱりそうでしたか。
ありがとうございました。
そうやってすぐに的確な資料を見つけて調べられるところ、頭がよさそうでうらやましい。

234:名無しさん@そうだ選挙にいこう
19/03/07 17:43:00.32 .net
>>233
ってか、「MSDN 調べたい内容」で検索してmsdnで調べればいいだけだよ
しっかり読めば最も正しい答えが書いてある(たまに間違えている)
ブログとかしょーもないサイトは見なくて良い

235:名無しさん@そうだ選挙にいこう
19/03/07 18:42:54.17 .net
よくわからんが
thisworkbook.Sheets("日報").Range("C4:C50").ClearContents
ではだめなのか?

236:はてな
19/03/07 21:10:30.12 .net
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 少しだけ
【4 VBAでの回答の可否】 できれば使わないでほしい。
特定の番号を入れた時に数字が増えるようにしたい。
  A列  B列
1行 AS 18001
2行 ZX 18001
3行 AS 18002
4行 AD 18001
5行 ZX 18001
6行 AS 18003
このようにASが増えたらその分+1する、ほかのA列に入れた英字も入れた分だけ+1する
ように設定したい。前に+1した数字は変えず、増えた分変更するのはA列に文字が入力された時だけ。
そんな関数ってあるでしょうか。一枚のシートで運用したいと思っている。

237:名無しさん@そうだ選挙にいこう
19/03/07 22:47:39.94 .net
>>236
法則がよくわからない
2行目と5行目にZXがあるのに、5行目が18002にならないのはどういうルール?

238:はてな
19/03/07 22:53:50.56 .net
>>237
ごめんなさい、打ち間違えてました。
正しくはこうです。初めてA列に入力した文字のB列が18001になり、
再度A列に同じ文字が入力されたらB列に18002と+1されてゆくようにしたいです。
  A列  B列
1行 AS 18001
2行 ZX 18001
3行 AS 18002
4行 AD  18001
5行 ZX 18002
6行 AS 18003


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

1836日前に更新/334 KB
担当:undef