OĞUZ EROL · MarkdownEN
Markdown’ı açKapat
Kaynak: https://oguzerol.com/eszamanli-veri-giris-uygulamasi/

[![Örnek senaryo: açık kalan ortak filtre 88 dakika boyunca herkese yalnız bir teknisyenin satırlarını gösterir ve 3 mükerrer kayıt oluşur; formla giriş, filtre görünümü ve mükerrer işareti bunu önler.](https://oguzerol.com/gorseller/hizmet-kapaklari/eszamanli-veri-giris-uygulamasi-seri-v1-tr.webp)

Görseli büyüt](https://oguzerol.com/gorseller/hizmet-kapaklari/eszamanli-veri-giris-uygulamasi-seri-v1-tr.webp)

# Google Sheets Çoklu Kullanıcı ve Eşzamanlı Veri Girişi: Filtre, Silinen Satır ve Koruma

[Oğuz Erol](https://oguzerol.com/hakkimda/)  |  16 dk okuma

Google E-Tablolar’a birden çok kişi aynı anda yazdığında satır kaybı ve mükerrer kayıt kişi sayısından değil üç davranıştan çıkar: birinin açık bıraktığı ortak filtre herkesin ekranında satırları gizler ve insanlar “kaybolan” kaydı yeniden girer, silinen satır hücre düzenleme geçmişinde görünmeyebilir, serbest metinle yazılan adet toplamlara girmez. 8–12 kişilik bir ekip Google’ın eşzamanlı düzenleme sınırının çok altındadır. Çözüm tablo içinde kurulur: yeni kayıt Google Formlar’dan girilir, sonradan güncellenen sütunlar korumalı aralıkla sahibine ayrılır, adet ve parça kodu veri doğrulamayla sınırlanır, mükerrer kayıt EĞERSAY formülüyle işaretlenir. Kişiye göre farklı satır göstermek gerekiyorsa tablo yetmez; orada rol ve yetki tabanlı bir web uygulaması başlar.

## Aynı anda düzenlemede gerçekte ne olur?

Google E-Tablolar’da herkesin değişikliği diğerlerinin ekranına anında yansır; sorun, bazı işlemlerin yalnız yapan kişiyi değil bütün dosyayı etkilemesidir.

**Kişi ve hücre sınırı.** Google’a göre bir dosya aynı anda en fazla 100 açık sekmede ya da cihazda düzenlenebiliyor, aşınca yalnız sahip ve bazı düzenleyenler düzenleyebiliyor; bir dosya en fazla 600 e-posta adresiyle paylaşılabiliyor ([Google Destek, dosya paylaşma](https://support.google.com/docs/answer/2494822?hl=tr), 16 Ekim 2026’da okudum). Hücre sınırı 20 milyon hücre ya da 100 MB ([Google Drive yardım](https://support.google.com/drive/answer/37603?hl=tr), aynı tarih); aşağıdaki örnek tablo yılda yaklaşık 42.900 hücre ekler.

**Aynı hücreye aynı anda yazmak.** Google’ın yardım sayfalarında iki kişi aynı hücreyi aynı saniyede değiştirdiğinde hangi değerin kaldığını anlatan bir açıklama bulamadım (16 Ekim 2026); bu yüzden her sütunun tek bir yazanı olmasını öneririm.

**Satır ekleme, silme ve sıralama.** Google’a göre eklenen ya da silinen satır ve sütunlar hücre düzenleme geçmişinde görünmeyebilir. Satır numarası da kayar: telefonda “214. satır” diye konuşulan kayıt, yukarıdan bir satır silinince başka bir kayıt olur; kaydı değişmeyen bir kayıt numarasıyla anın. Veri menüsünden sıralama da herkesin ekranını etkiler. Google bunu ayrıca yazmıyor; sıralama dosyadaki satır sırasını değiştirdiği için bu benim çıkarımım. Kendi ekranınızda sıralamak için filtre görünümü kullanın.

**Ortak filtre ile filtre görünümü.** İkisi aynı simgeyle başlar ama sonucu bambaşkadır:

|  | Ortak filtre | Filtre görünümü |
| --- | --- | --- |
| Kimi etkiler | Dosyaya erişen herkes filtreyi görür | Yalnız sizin görünümünüze uygulanır |
| Kim değiştirir | Düzenleme izni olan herkes | Düzenleyenler kaydeder ve adlandırır |
| Paylaşma | Zaten herkeste | Görünümün bağlantısı kopyalanıp gönderilir |
| Yalnız görüntüleme izni olan | Filtreyi görür, değiştiremez | Kaydedilmeyen geçici görünüm açabilir |

Kaynak: Google’ın [sıralama ve filtreleme sayfası](https://support.google.com/docs/answer/3540681?hl=tr), 16 Ekim 2026’da okudum. Filtre görünümünü **Veri > Filtre görünümü oluştur** ile açar, sağ üstteki **Görünümü Kaydet** ile saklarsınız. Biri ortak filtreyi açık bıraktıysa düzenleme izni olan herkes **Veri > Filtreyi kaldır** ile kaldırabilir.

### Sürüm geçmişi ve hücre geçmişi neyi göstermez?

Sürüm geçmişi dosyanın eski hâllerini, hücre düzenleme geçmişi tek bir hücrenin önceki değerlerini gösterir; ikisi de denetim kaydı değildir. Google’ın [etkinlik ve değişiklikler sayfasına](https://support.google.com/docs/answer/190843?hl=tr) göre (16 Ekim 2026’da okudum):

- Sürüm geçmişini yalnız düzenleme izni olan görür.
- Hücreye sağ tıklayıp **Düzenleme geçmişini göster** dediğinizde eklenen ya da silinen satır ve sütunlar, biçim değişiklikleri, formülle oluşan değişiklikler ve bir sürümü geri yüklemeden önceki değişiklikler görünmeyebilir.
- Dosyanın düzeltmeleri ara sıra birleştirilebilir. E-tablo başına en fazla 15 adlandırılmış sürüm eklenebiliyor.
- Eski bir sürümü geri yüklemek, geri yüklemeden önceki değişikliklerin hücre bazındaki geçmişini temizler. Google, hücre geçmişini korumak gerekiyorsa geri yüklemek yerine kopya almayı öneriyor.

## Örnek hafta: 10 kişi, bir servis tablosu, üç olay

*Aşağıdaki firma, kişiler ve sayılar kurgusaldır.*

Endüstriyel kompresörlere bakım ve servis veren bir firmada 10 kişi aynı Google E-Tablosuna yazıyor: altı saha teknisyeni (Can, Deniz, Emre, Hakan, Kerem, Ozan), iki planlamacı (Ece, Murat), depo sorumlusu Bora ve faturalamayı yapan Selin. “Servis kayıtları” sekmesinde 11 sütun var: kayıt no, tarih, müşteri, makine seri no, teknisyen, iş türü, süre (saat), parça kodu, adet, durum ve faturalandı. Hafta başında tabloda 212 eski satır duruyor. Teknisyenler her gün toplam 15 yeni servis kaydı açıyor, beş iş gününde 75 kayıt. Herkes dosyayı Düzenleyen olarak açıyor; ayrı bir giriş ekranı, doğrulama ya da koruma yok.

### Olay 1: ortak filtre ve mükerrer kayıt

İkinci gün 10.12’de Ece, Can’ı aramadan önce teknisyen sütununa “Can” filtresi koyuyor. Bunu filtre görünümü yerine ortak filtreyle yapıyor ve 11.40’a kadar, 88 dakika açık bırakıyor. Bu sürede dosyayı açan herkes yalnız Can’ın satırlarını görüyor. Deniz ve Emre sabah girdikleri kayıtlara parça bilgisi eklemek istiyor, satırlarını bulamıyor ve kayıtların silindiğini düşünüyor. Deniz iki, Emre bir kaydı yeniden giriyor: tabloda 3 mükerrer servis kaydı oluşuyor.

Beşinci gün Selin faturalamada “aynı makine seri no, aynı gün” kuralıyla 2’sini yakalıyor. Biri gözden kaçıyor ve bir müşteriye aynı 3,5 saatlik işçilik iki kez faturalanıyor. Düzeltme, iade faturası ve müşteriye açıklama demek.

**Ne önlerdi:** planlamanın filtre görünümü kullanması, yeni kaydın forma girilmesi ve seri no + tarih için mükerrer işareti. Form satır gizlemez; teknisyen kendi kaydını aramak zorunda kalmaz.

### Olay 2: silinen 14 satır ve geri yükleme tuzağı

Üçüncü gün 16.30’da Murat “tamamlananları temizlemek” için 14 satır siliyor. Dördü tamamlanmış ama henüz faturalanmamış işler: 2,5 + 4 + 1,5 + 3, toplam 11 saat işçilik. Silme hücre düzenleme geçmişinde görünmüyor ve kimse fark etmiyor. Fark, beşinci gün Selin teknisyen puantajındaki saatleri tablodaki işçilik saatleriyle karşılaştırınca çıkıyor.

Silmeden önceki en yakın sürüm üçüncü gün 16.25’te. O sürümü geri yüklemek kolay görünür, ama sonra yapılan her şeyi de geri alır: üçüncü gün 16.25’ten sonra açılan 2 kayıt ve 1 güncelleme, dördüncü ve beşinci günün 30 yeni kaydı ve mevcut satırlardaki 23 durum ve parça güncellemesi, toplam 56 değişiklik. Selin ve Murat geri yükleme yerine eski sürümün kopyasından dört satırı bulup ana tabloya geri yapıştırıyor; iş 95 dakika sürüyor. Para kaybı yok, ama dört iş puantaj karşılaştırması olmasa faturasız kalacaktı.

**Ne önlerdi:** satır silmenin kural olarak yasak olması. Kayıt silinmez, durumu “İptal” yapılır ve yanına gerekçe yazılır.

### Olay 3: “2 adet” toplamı bozar

FLT-200 hava filtresi hafta boyunca 11 serviste kullanılıyor. Sekizinde adet sayı olarak yazılmış, üçünde metin olarak: “2 adet”, “iki”, “3 ad.”. Bora’nın stok sekmesindeki TOPLA formülü metni atlıyor ve haftalık kullanımı 11 gösteriyor; gerçek kullanım 18, yani 7 adet eksik sayılıyor. Rafta haftaya 20 adetle başlanmış, sipariş eşiği 8. Tablo 9 adet kaldığını söylediği için sipariş verilmiyor; gerçekte rafta 2 adet var. Sonraki hafta bir teknisyen yanında yedek hava filtresi olmadan yola çıkıyor, iş hava filtresi takılmadan kalıyor ve müşteriye ikinci kez gidiliyor.

**Ne önlerdi:** adet sütununda yalnız sayı kabul eden veri doğrulama ve parça kodunun listeden seçilmesi.

Hafta sonunda tabloya 78 satır eklenmiş (75 gerçek kayıt ve 3 mükerrer), 14 satır silinmiş, tabloda 276 satır var. Üç olayın hiçbiri kişi sayısından değil, herkesin her yeri düzenleyebildiği düzenden çıktı.

## Karar tablosu: ortak sayfa mı, Formlar mı, uygulama mı?

| Yol | Kime uyar | Neyi çözer | Neyi çözmez |
| --- | --- | --- | --- |
| Ortak sayfa, herkes düzenler | 2–4 kişi, herkes her sütunu biliyor | Kurulum yok | Ortak filtre, silme, serbest metin: örnekteki üç olay |
| Formlar + yanıt sayfası | Kayıt yalnız ekleniyor: servis, ziyaret, sayım | Kendi satırını arama, serbest metin, zaman ve e-posta | Sonradan güncellenen alanlar |
| Korumalı giriş sekmesi | Aynı satırı farklı roller güncelliyor | Başkasının sütununa yazma, sabit seçenekler | Yeni kaydın serbest girilmesi, silme |
| Formlar + korumalı sekme (önerim) | 8–12 kişi; kayıt sahada açılıyor, ofiste güncelleniyor | Örnekteki üç olay; mükerrer EĞERSAY ile işaretlenir | Kişiye göre farklı satır görme |
| Rol tabanlı web uygulaması | Kişiye göre satır, iz kaydı gerekiyor | Görünürlük, silme yerine iptal, kim-ne zaman | Kurulum ve bakım ister |

Örnekteki firma için önerim dördüncü satır: teknisyen kaydı formdan açar, planlama ve faturalama korumalı sekmede kendi sütununu günceller. Web uygulaması bu firmada henüz gerekmiyor; aşağıdaki dört sorudan birine “evet” dendiği gün gerekir.

## Silinen satırı güvenle nasıl geri getirirsiniz?

Silinen satırı geri getirmenin güvenli yolu, eski sürümü geri yüklemek değil, eski sürümün kopyasını alıp yalnız eksik satırları ana tabloya geri yapıştırmaktır. Geri yükleme o sürümden sonra herkesin yaptığı değişiklikleri de geri alır; örnekte bu 56 değişiklik demekti.

Silme az önce olduysa silen kişi önce Ctrl+Z (Mac’te Cmd+Z) dener. Geri gelmezse:

1. **Dosya** menüsünden sürüm geçmişini açın ve silmeden önceki sürümü bulun. Tam o dakikanın sürümü olmayabilir, çünkü Google düzeltmeleri ara sıra birleştiriyor; silmeden önceki en yakın sürümü seçin. O sürümden sonra girilen kayıtlar kopyada olmaz, ama zaten ana tabloda durur.
2. O sürümü geri yüklemeyin; sürümün menüsünden **Kopyasını oluştur**’u seçin.
3. Ana tablonun kayıt numarası sütununu kopyalayıp kopya dosyada yeni bir sekmeye (“Güncel”) yapıştırın. Eski sekmede boş bir sütuna `=EĞERSAY(Güncel!A:A;A2)=0` yazıp aşağı doldurun: DOĞRU çıkan satırlar ana tabloda olmayan, yani silinen kayıtlardır; örnekte 14 satırın hepsi. Örnekte yalnız faturalanmamış 4’ü geri yapıştırıldı, çünkü acil olan faturaydı. Benim önerim 14’ünün de geri konup durumunun “Arşiv” yapılması: silme kuralın kendisini bozdu ve kapanmış kaydın da müşteri itirazı ya da garanti için izi gerekir.
4. Bu satırları ana tablonun en altına yapıştırın; aynı kayıt numarası iki kez geçmiyor mu, doğrulama ve formül sütunları yerinde mi kontrol edin.
5. Kopyayı sonra silin ya da erişimini kısıtlayın; içinde bütün müşteri verisi duruyor.

Kayıt numarası yoksa üçüncü adım tahmine döner. Her satıra değişmeyen bir numara vermenin nedeni bu.

## Doğru kurulum: girişi tablodan ayırın

Eşzamanlı veri girişini Google E-Tablolar’da güvenli kurmanın özü, insanların tablonun tamamını değil yalnız kendi alanlarını düzenlemesidir. Altı katman öneriyorum; hepsini aynı anda kurmak gerekmez.

### 1. Yeni kayıt Google Formlar’dan girilsin

Kayıt yalnız ekleniyorsa (servis kaydı, ziyaret raporu, sayım) en temiz yol Google Formlar’dır. Teknisyen telefondan formu doldurur, yanıt bağlı tabloya yeni satır olarak düşer ve kimse başkasının satırını aramak zorunda kalmaz. Apps Script belgelerine göre her yanıtın gönderim zamanı tutulur, e-posta toplama açıksa gönderenin e-postası da kaydedilir ([FormResponse](https://developers.google.com/apps-script/reference/forms/form-response), 16 Ekim 2026’da okudum).

E-posta toplamada Google iki seçenek veriyor: **Doğrulandı** seçeneğinde yanıtlayanın Google hesabı e-postası yanıtla birlikte toplanır, **Katılımcı girişi** seçeneğinde kişi adresini kendisi yazar ([Google Workspace, form oluşturma](https://support.google.com/a/users/answer/9303071?hl=tr)). Ekip içi giriş için Doğrulandı’yı seçin; elle yazılan adres kimliği kanıtlamaz.

Form yalnız yeni kayıt ekler. Durum, parça ve fatura gibi sonradan değişen alanları yanıtların düştüğü sekmeye elle yazdırmayın; ayrı bir “İşlem” sekmesinde tutun. Kurulum şöyle:

- **A sütunu, kayıt no:** planlamacı, yanıt sekmesinde filtre görünümüyle (teknisyen, gün) bulduğu yanıtın kayıt numarasını buraya yapıştırır. Ya da A sütununa, yanıt sekmesindeki kayıt no sütununu kaynak alan bir **Açılır liste (aralığa göre)** koyup oradan seçer ([Google Destek, veri doğrulama](https://support.google.com/docs/answer/186103?hl=tr)).
- **B–D sütunları, yanıttan gelen bilgi:** müşteri, seri no ve teknisyen formülle çekilir. Kayıt no yanıt sekmesinin A, müşteri C sütunundaysa: `=XLOOKUP($A2;Yanıtlar!$A:$A;Yanıtlar!$C:$C;"")`. Bu sütunlara kimse yazmaz.
- **E–G sütunları, güncellemeler:** durum, parça bekleniyor, faturalandı; her biri 2. katmandaki gibi sahibine korumalı.
- **Yanıt sekmesinde kontrol:** boş bir sütuna `=EĞERSAY(İşlem!A:A;A2)=0` yazıp aşağı doldurun; DOĞRU çıkan yanıt henüz işleme alınmamıştır.

Elle yazılan güncelleme kendi satırındaki kayıt numarasına bağlı durduğu için yanıt sekmesi büyüdükçe kaymaz. XLOOKUP’ın söz dizimi Google’ın [XLOOKUP sayfasında](https://support.google.com/docs/answer/12405947?hl=tr) (Türkçe sayfa da bu adı kullanıyor); ayırıcıyı Google’ın Türkçe örneklerindeki gibi noktalı virgülle yazdım. Bu kurulumu kendi tablomda denemedim, birkaç satırla sınayın. Formun ortak çalışanları bağlı tabloya da erişebilir ([Google Destek, form yanıtları](https://support.google.com/docs/answer/139706?hl=tr)). Formun tabloya yazma ayarları [Sheets veri giriş formu sayfasında](https://oguzerol.com/google-sheets-veri-giris-formu/).

**Kayıt numarası nasıl üretilir?** Betiksiz en basit yol formun kendi zaman damgasıdır: her yanıtta saniyesine kadar tutulur, kimse elle yazmaz ve sıralamayla kaymaz. Yetmediği tek durum aynı saniyede gelen iki yanıttır; 10 kişilik ekipte nadir ama imkânsız değil, bu yüzden 4. katmandaki EĞERSAY işareti bu sütunda da durmalı (benim değerlendirmem). `SATIR()` gibi satır numarasına dayanan formül kayıt numarası olmaz, çünkü satır silinince ya da sıralanınca değişir. “SRV-0215” gibi okunur, artan bir numara istiyorsanız her yeni yanıta numarayı değer olarak yazan bir Apps Script betiği gerekir; onu Apps Script bilen bir çalışanınız ya da bir geliştirici yazar.

### 2. Mevcut satır güncelleniyorsa korumalı giriş sekmesi

Kayıt bir yaşam döngüsünden geçiyorsa (açık → parça bekliyor → tamamlandı → faturalandı) farklı kişiler aynı satırın farklı sütunlarını değiştirir. Her sütun grubunu sahibine ayırın: **Veri > Sayfaları ve aralıkları koru > Sayfa veya aralık ekle > Aralık**, aralığı seçin, **İzinleri ayarla > Bu aralığı düzenleyebilecek kullanıcıları kısıtla > Özel**, kişileri işaretleyip **Bitti**. Örnekte adet ve parça kodu teknisyenlerin, durum planlamanın, faturalandı Selin’in, kayıt numarası yalnız dosya sahibinin.

Google’ın [koruma sayfası](https://support.google.com/docs/answer/1218656?hl=tr) üç sınırı açıkça yazıyor (16 Ekim 2026’da okudum):

- Koruma bir güvenlik önlemi olarak kullanılmamalı. Dosyaya erişen kişi onu yazdırabilir, kopyalayabilir, dışa aktarabilir; görüntüleme izni olan bile kopya alabilir. Koruma düzenlemeyi kısıtlar, görmeyi değil.
- **Bu aralık düzenlenirken uyarı göster** seçeneği düzenlemeyi engellemez, yalnız onay ister.
- Sayfayı gizlemek korumak değildir. Bütün düzenleyenler gizli sayfayı açabilir, görüntüleyenler de içeriğine erişebilir.

### 3. Veri doğrulama: serbest metin girmesin

Olay 3’ü önleyen katman budur: **Veri > Veri doğrulama > Kural ekle**. Adet, parça kodu ve durum sütunlarına birer kural koyun (parça kodu için ürün listesinden, durum için sabit seçeneklerden açılır liste) ve kurala uymayan girişi reddetme seçeneğini seçin. Google’a göre listeye uymayan giriş varsayılan olarak reddedilir; **Gelişmiş seçenekler** altındaki “Veriler geçersizse” bölümünde **Uyarı göster** seçilirse geçersiz değer içeri alınır ([Google Destek, veri doğrulama](https://support.google.com/docs/answer/186103?hl=tr)). Aynı seçim her doğrulama kuralında var ([Apps Script, DataValidationBuilder](https://developers.google.com/apps-script/reference/spreadsheet/data-validation-builder)). Reddetmeyi seçin; uyarı “2 adet”i yine içeri alır. Kuralın yapıştırmada nasıl davrandığını Google’da bulamadım; başka bir hesapla yazarak ve yapıştırarak sınayın.

### 4. Mükerrer kaydı işaretleyin ya da reddedin

Mükerrer kaydı ya girildikten sonra işaretlersiniz ya da girerken reddedersiniz. İşaretlemek için **Biçim > Koşullu biçimlendirme**, kural olarak **Özel formül**. Google’ın kendi örneği tek sütundaki yinelenen değer için `=EĞERSAY($A$1:$A$100;A1)>1` ([Google Destek, koşullu biçimlendirme](https://support.google.com/docs/answer/78413?hl=tr), 16 Ekim 2026’da okudum).

Örnekte mükerrer, “aynı makine seri no, aynı gün” demek. Seri no D, tarih B sütunundaysa A2:K aralığına uygulanan kural `=ÇOKEĞERSAY($D:$D;$D2;$B:$B;$B2)>1` olur ve iki satırı birden boyar. Girerken reddetmek için aynı mantık veri doğrulamada özel formül kuralı olarak `=ÇOKEĞERSAY($D:$D;$D2;$B:$B;$B2)=1` biçiminde yazılıp reddetme seçilebilir. Bu iki ÇOKEĞERSAY kuralını kendi tablomda denemedim; birkaç satırla sınayın.

Başlangıçta işaretlemeyi öneririm: aynı makineye aynı gün iki gerçek ziyaret olabilir, reddetme o kaydı da durdurur. Form kullanıyorsanız işaret yanıtların düştüğü sekmede çalışır; Formlar’da tabloda var olan satırlara bakan bir yanıt kuralı bulamadım.

### 5. Kim, ne zaman: zaman damgası ve e-posta

Formdan gelen satırda gönderim zamanı ve, Doğrulandı seçiliyse, e-posta hazır gelir; tabloda doğrudan düzenlenen satıra damga için bir Apps Script betiği gerekir. Google’a göre basit `onEdit(e)` tetikleyicisinde kullanıcının e-postası boş gelebilir, geliştiriciyle kullanıcı aynı Google Workspace alanındaysa bu kısıt genelde uygulanmaz; yani teknisyenler kişisel Gmail hesabıyla giriyorsa “son değiştiren” sütunu güvenilmez ([Apps Script, Session](https://developers.google.com/apps-script/reference/base/session), 16 Ekim 2026’da okudum). Betiğin tetikleyicisini kişiye bağlı olmayan bir hesaptan kurun, çünkü kurulabilir tetikleyici her zaman onu kuran kişinin hesabıyla çalışır ([Apps Script, kurulabilir tetikleyiciler](https://developers.google.com/apps-script/guides/triggers/installable)).

### 6. Ekip kuralı: filtre görünümü, silme yok

Son katman yazılı kural: filtre ve sıralama yalnız filtre görünümünde yapılır; satır silinmez, durum “İptal” olur ve gerekçe yazılır; her sütunun tek yazanı vardır ve adı başlıkta durur. Bir çalışan ayrıldığında onu hem dosya paylaşımından hem formun ortak çalışanlarından ayrı ayrı çıkarın; daha önce aldığı kopyaları geri alamazsınız.

## Tabloda yapılamayanlar: Google E-Tablolar’ın sınırları

Google E-Tablolar’da kişiye göre farklı satır göstermek mümkün değildir, çünkü paylaşım dosya düzeyindedir: dosyaya erişen herkes bütün satırları görür. Satış temsilcisinin yalnız kendi müşterisini, şube çalışanının yalnız kendi şubesini görmesi gerekiyorsa tablo içinde bir ayar yoktur.

Bilinen geçici çözüm, her kişiye yalnız kendi satırlarını taşıyan ayrı bir dosya vermek ve bu dosyaları bir betikle ana tablodan beslemektir. Çalışır, ama her kişi için ayrı paylaşım, ayrı dosya ve bozulduğunda kimsenin fark etmediği ayrı bir aktarım demektir. Altı kişide yönetilir, yirmi kişide yönetilmez. Şube bazında görünürlüğün uygulamada nasıl kurulduğunu [şube bazlı veri giriş sistemi sayfasında](https://oguzerol.com/sube-bazli-veri-giris-sistemi/) anlattım.

## Çok kullanıcılı web uygulaması nerede başlar?

Tablodan web uygulamasına geçmenin gerekçesi kişi sayısı değil, tablonun yapısal olarak veremediği bir kuraldır. Dört soru sorun:

1. **Bir kişi yalnız kendi satırlarını mı görmeli?** Temsilci yalnız kendi müşterisini, şube yalnız kendi kaydını, taşeron yalnız kendi işini. Cevap evetse tablo içinde çözüm yoktur.
2. **Onaylanan ya da faturalanan kayıt değiştirilemez mi olmalı?** Satır bazında, duruma bağlı kilit tabloda kurulmaz; koruma sütun ya da aralık bazındadır.
3. **Kimin neyi ne zaman değiştirdiği silinemez biçimde, satır satır mı tutulmalı?** Müşteri itirazı, garanti, denetim için. Sürüm geçmişi bunu vermez.
4. **İki kişi aynı kaydı açıp birbirinin değişikliğini ezebilir mi?** Planlamacı teslim tarihini değiştirirken teknisyen eski ekrandan not kaydediyorsa ikinci kayıt ilkini sessizce geri almamalı.

İlk ikisinden birine “evet” tek başına yeterli gerekçedir. Üçüncü ve dördüncü, tabloda disiplinle bir süre idare edilebilir. Dördüne de “hayır” diyorsanız tabloda kalın, yukarıdaki kurulumu yapın.

Uygulamada bu kurallar veri girilirken uygulanır. Örnek firma için kurulabilecekler: parça kodu listeden, adedi yalnız sayı olan telefon giriş ekranı; aynı seri no ve aynı gün için “bu kayıt zaten var olabilir” uyarısı; silme yerine gerekçeli iptal; kaydetmeden önce kaydın arada değişip değişmediğinin kontrolü.

Roller kısaca: teknisyen yalnız kendi kayıtlarını görür, depo müşteri notunu görmez, faturalandı işaretini yalnız faturalama koyar. Bu ekranlar ihtiyaca göre kurulabilir, kapsamı ilk adımda yazılı belirlenir. Yapay zekâ teknisyenin notundan parça kodu ve adet önerebilir, kaydı teknisyen onaylar ve modele hiçbir satır yetki filtresinden geçmeden gitmeyecek şekilde kurulabilir.

## Nasıl başlanır, veri ve kod kimin?

İlk adımda bugünkü tablonuza, kimin hangi sütunu yazdığına ve son haftalarda yaşadığınız kayıplara bakarız; önce tablo içinde neyin çözülebileceği konuşulur. Uygulama gerekiyorsa rol listesi, ekranlar ve ilk sürümün kapsamı da bu adımda netleşir. Otomasyon projelerinde en sık gördüğüm hata ilk işi en karmaşık süreçten seçmek; bu yüzden ilk sürüm genelde tek bir giriş ekranı ve tek bir rolle başlar.

Uygulama şirketiniz adına açılabilen bir sanal sunucuda (VPS) çalışır. Veri sizindir, istediğiniz zaman Excel ya da CSV olarak alırsınız. Küçük ve orta ölçekli ekipte kullanıcı başına lisans yok, maliyet sunucu ve bakım. Kaynak kod erişiminizdeki bir depoda, çalıştırma talimatı, bağımlılık listesi ve bilinen sınırlarla durur. Kullanıcıların nasıl giriş yapacağı ve mevcut tablonun nasıl taşınacağı da aynı adımda konuşulur.

Bugünkü tablonuzun bir kopyasını, müşteri adlarını maskeleyerek ve kimin hangi sütunu yazdığını belirterek [iletişim sayfasından](https://oguzerol.com/iletisim/) gönderin. İlk görüşmede sorunun tablo içinde mi çözüleceğine, yoksa uygulama mı gerektirdiğine birlikte bakarız.

## Sıkça Sorulan Sorular

### Mevcut tabloyu Google Formlar’a geçirirken eski satırlar ne olur?

Eski satırlar yerinde kalır. Uygulamada form yanıtları tabloda ayrı bir sekmeye düşüyor; Google bunu okuduğum sayfalarda ayrıca yazmıyor, bu benim gözlemim, kendi tablonuzda görün. Eski kayıtlarla yeni yanıtları aynı kayıt numarası düzeniyle birleştiren bir özet sekmesi gerekir. Google’a göre formun tabloyla bağlantısını kaldırırsanız yeni yanıtlar tabloya gitmez ama mevcut veri olduğu gibi kalır ([Google Destek](https://support.google.com/docs/answer/2917686?hl=tr)).

### Mükerrer kaydı nasıl önlerim?

Önce kaynağını kesin: insanlar çoğunlukla kendi satırını bulamadığı için yeniden girer, bu yüzden en etkili önlem ortak filtreyi yasaklayıp yeni kaydı forma almak. Sonra neyin mükerrer sayılacağını yazın; örnekte seri no + tarih. Son olarak bunu koşullu biçimlendirmeyle işaretleyin, reddetmeye ancak gerçek ikinci kayıt imkânsızsa geçin. Faturalamadan önce işaretli satırlara bakmak, örnekteki iki kez faturalanan işi yakalardı.

### Aynı düzen Excel’de kurulabilir mi?

Kısmen. Microsoft’a göre birlikte yazma Microsoft 365 aboneliği ve OneDrive ya da SharePoint Online’daki dosya ister; aynı hücrede genel kural son kaydedilen değişikliğin kazanmasıdır, istisnaları vardır ([Microsoft Destek, birlikte yazma](https://support.microsoft.com/tr-tr/office/collaborate-on-excel-workbooks-at-the-same-time-with-co-authoring-7152aa8b-b791-414c-a3bb-3024e46fb104), 16 Ekim 2026’da okudum). Filtre görünümünün karşılığı Sayfa Görünümü’dür. Ayrıntılar [Excel dosyasını paylaşıma açma rehberinde](https://oguzerol.com/excel-dosyasini-paylasima-acma/).

[Başa dön ↑](https://oguzerol.com/eszamanli-veri-giris-uygulamasi/#icerik)

## Bunları da okumak ister misiniz?

[Google Sheets Hücre Kilitleme: Düzenleme Yetkisini SınırlamaGoogle Sheets hücre kilitleme ile formülleri ve belirli alanları düzenlemeye kapatın. Uyarı, gerçek düzenleme sınırı ve veriyi gizleme ihtiyacını ayırın.](https://oguzerol.com/google-sheets-hucre-kilitleme/)[Google Sheets Veri Giriş Formu: Yanıtları Tabloya KaydetmeGoogle Sheets veri giriş formu için Google Forms bağlantısıyla başlayın. Sipariş alanlarını, yanıt tablosunu ve sonradan düzenleme ihtiyacını ayırın.](https://oguzerol.com/google-sheets-veri-giris-formu/)[Excel ve Google Sheets'i Çok Kullanıcılı Web Uygulamasına ÇevirmeExcel veya Google Sheets'te yürüyen işinizi sunucuda çalışan, kişiye göre yetkili ve kayıt geçmişli bir web uygulamasına çeviriyorum. Süreci ve örneği görün.](https://oguzerol.com/excel-web-uygulamasi/)

[Tüm yazılara göz atın →](https://oguzerol.com/yazilarim/)

NE İSTEYEBİLİRSİNİZ

## Nasıl çalışıyorum?
Çalışma saati paketleri

WhatsApp’tan ya da telefonda işinizden ve ihtiyacınızdan bahsedin; **5 ile 40 saat arasında bir çalışma paketinde** anlaşalım, ben gerekenleri yapmaya başlayayım. Aldığınız şey bir takvim aralığı değil, doğrudan sizin işinize harcanacak net mesai. 40 saati üç gün aralıksız çalışarak da kullanabiliriz, bilerek zamana yayıp bir yılda da bitirebiliriz — işin gerektirdiği neyse o. İşin ne kadar süreceğini tahmin etmeye değil, işi yapmaya vakit harcarım; harcadığım her saatin işinizde kalıcı bir karşılığı olur. Faydalı olduğunu düşündüğünüz sürece bu şekilde devam ederiz.

ÇALIŞMA BLOKLARI

## Neden aylık değil?
40 saat 1 hafta mı oluyor?

Aylık sabit ücrette iki taraf da yanlış yere bakar: siz sabit gidere, karşı taraf kaç tane daha böyle sözleşme bağlayabileceğine. Saat üzerinden çalışınca ikimizin de baktığı yer aynı olur — yapılan işin gerçek değeri. "Toplamda ne kadar tutar?" sorusunun peşinen net bir cevabı olmaması bu modelin doğal maliyeti, farkındayım. Ama sonuç üretmeyen bir yapıya aylarca sabit ücret ödemek yerine yalnızca işinize ayrılan nitelikli zamanı ödersiniz, o zamanın nereye gittiğini de baştan sona görürsünüz. Müşterilerimin benimle tekrar tekrar çalışmasının sebebi bu.

5saat10.000₺ + KDVsaat başı 2.000₺[Bu bloğu seç](https://wa.me/905496546489?text=Merhaba%2C%205%20saatlik%20%C3%A7al%C4%B1%C5%9Fma%20blo%C4%9Fu%20hakk%C4%B1nda%20bilgi%20almak%20istiyorum.)

10saat15.000₺ + KDVsaat başı 1.500₺[Bu bloğu seç](https://wa.me/905496546489?text=Merhaba%2C%2010%20saatlik%20%C3%A7al%C4%B1%C5%9Fma%20blo%C4%9Fu%20hakk%C4%B1nda%20bilgi%20almak%20istiyorum.)

20saat24.000₺ + KDVsaat başı 1.200₺[Bu bloğu seç](https://wa.me/905496546489?text=Merhaba%2C%2020%20saatlik%20%C3%A7al%C4%B1%C5%9Fma%20blo%C4%9Fu%20hakk%C4%B1nda%20bilgi%20almak%20istiyorum.)

40saat40.000₺ + KDVsaat başı 1.000₺[Bu bloğu seç](https://wa.me/905496546489?text=Merhaba%2C%2040%20saatlik%20%C3%A7al%C4%B1%C5%9Fma%20blo%C4%9Fu%20hakk%C4%B1nda%20bilgi%20almak%20istiyorum.)